Lightspeed Restaurant K Series API
1.0.0

Lightspeed Restaurant offers a REST API in order to communicate with the data in the system. These APIs are built using the RESTful standards and adhere to the basic verb interactions as defined by the REST standard.

These services are in continuous development and subject to change. Find our versioning policy here.

This is the documentation for version 1.0.0 of the API. Last update on May 1, 2024.

Base URL
https://api.trial.lsk.lightspeed.app

Get Sales

GET /f/v2/business-location/{businessLocationId}/sales

Returns financial data for a business location for a specified date range. Sorted by the timeClosed field of the sales.

Path parameters

Query parameters

  • from string(date-time) Required

    Start of requested results, in ISO 8601 format.

    Based on the timeClosed sales field.

  • to string(date-time) Required

    End of requested results, in ISO 8601 format.

    Based on the timeClosed sales field.

  • include string

    Objects to be included in the response.

    The allowed values are: staff, table, consumer, payments, revenue_center, account_profile, payment_authorization.

    Default value is empty.

  • pageSize integer(int32)

    Number of entries to return.

    Maximum value is 100. Default value is 50.

  • A token that indicates the starting point of the next set of records when paginating through results.

    Default value is empty.

Responses

  • 200 application/json

    Financial data returned successfully.

    Hide response attributes Show response attributes object
    • sales array[object]

      Array of sale objects.

      Hide sales attributes Show sales attributes object
      • Unique reference id of the account.

      • The account identifier.

      • The id of the receipt associated with this account.

      • source object
        Hide source attributes Show source attributes
        • The accountFiscId of the initial transaction associated with the current account, if applicable. For example, in the case of a refund.

          This will match the accountFiscId of the sale if there is no associated account.

        • The accountFiscId of the previous transaction associated with the current account, if applicable. For example, in the case of a refund.

          This may be different from initialAccountId if there is more than one associated account.

          It will not be displayed if there is no associated account.

      • salesLines array[object]
        Hide salesLines attributes Show salesLines attributes object
        • id string

          The sale line identifier.

        • The sale line this item is associated with, if applicable.

        • Total amount of sale line, including tax. Important Note: This field is for use with tax inclusive businesses. For tax exclusive businesses, see taxAmount and taxLines for tax calculations. The value is precise up to six decimal places.

        • The total amount of the sale line, before tax. The value is precise up to six decimal places.

        • The price listed on the menu.

        • The unit cost price.

        • The service charge.

        • The service charge rate, as a percentage. The value is precise up to two decimal places.

        • The discount amount. The value is precise up to six decimal places.

        • taxCode string

          The system code for the tax rate.

        • The tax total

        • The tax rate, as a percentage. The value is precise up to two decimal places.

        • taxLines array[object]
          Hide taxLines attributes Show taxLines attributes object
          • taxId string

            The unique identifier for the tax rate.

          • taxCode string

            The system code for the tax rate.

          • taxRate string

            The tax rate, as a multiplier.

          • The tax total.

          • Whether or not the business is tax inclusive.

        • The type of discount.

        • The discount code.

        • The name of the discount.

        • The account discount amount. The value is precise up to two decimal places.

        • The total discount amount. The value is precise up to two decimal places.

        • sku string

          The item SKU.

        • name string

          The item name.

        • The item's statistic group.

        • quantity string

          The quantity of the item sold, which can potentially be a fractional value, especially in cases where the item is sold by weight. The value is precise up to three decimal places.

        • Hide accountingGroup attributes Show accountingGroup attributes
          • accountingGroupId integer(int64)

            The unique identifier of the item's accounting group.

          • name string

            The name of the accounting group.

          • The accounting group's statistic group.

          • code string

            The code assigned to the accounting group.

        • currency string

          The currency for the sale line.

        • tags array[string]

          The tags attached to the line item.

        • The name of the revenue center where the sale line was created.

        • revenueCenterId integer(int64)

          The unique identifier of the revenue center where the sale line was created.

        • categories array[object]
          Hide categories attributes Show categories attributes object
        • timeOfSale string(date-time)

          The timestamp of when the line item was created.

        • staffId integer(int64)

          The unique identifier of the user who created the line item.

        • The name of the user who created the line item.

        • deviceId integer(int64)

          The id of the device where the sale line was created.

        • The name of the device where the sale line was created.

        • The void reason, if applicable.

        • The code of the account profile used.

      • payments array[object]
        Hide payments attributes Show payments attributes object
        • code string

          The code of the payment method.

        • The name of the payment method.

        • paymentMethodId integer(int64)

          The unique identifier for the payment method.

        • The net payment amount, including tax. The value is precise up to two decimal places, and if necessary, it is rounded using the "half-even" rounding mode.

        • currency string

          The payment currency.

        • tip string

          The tip amount. The value is precise up to two decimal places, and if necessary, it is rounded using the "half-even" rounding mode.

        • consumer object
          Hide consumer attributes Show consumer attributes
          • id string

            The UUID of the customer associated with the payment, if applicable.

          • customerId integer(int64)

            The unique identifier for the customer.

          • title string

            The title or honorific of the customer.

          • The first name of the customer.

          • lastName string

            The last name of the customer.

          • The primary phone number of the customer.

          • An alternative phone number for the customer.

          • The name of the company associated with the customer, if applicable.

          • The primary address line for the customer's address.

          • The secondary address line for the customer's address, such as apartment or suite number.

          • zipCode string

            The postal code for the customer's address.

          • city string

            The city of the customer's address.

          • state string

            The state or region of the customer's address.

          • email string

            The email address of the customer.

        • type string

          The type of payment

          Values are NORMAL or ACCOUNTS_RECEIVABLE.

        • deviceId string

          The unique identifier of the device where the payment was processed.

        • The name of the device where the payment was processed.

        • staffId number

          The unique identifier of the user who processed the payment.

        • The name of the user who processed the payment.

        • The authorization code for the payment.

        • The external reference code for the payment.

        • The name of the revenue center where the payment was processed.

        • The unique identifier of the revenue center where the payment was processed.

        • fiscId string

          The id of the payment.

        • uuid string

          The base64url encoded UUID of the payment.

        • fiscDate string(date-time)

          The time stamp of the payment.

        • The surcharge amount. The value is precise up to two decimal places, and if necessary, it is rounded using the "half-even" rounding mode.

      • timeOfOpening string(date-time)

        The account creation timestamp.

      • timeClosed string(date-time)

        The account close timestamp.

      • cancelled boolean

        Whether the account was cancelled.

      • The external reference id of the account.

      • The table number.

      • The name of the table.

      • The account profile associated with the account.

      • The name of the user associated with the account.

      • ownerId integer(int64)

        The unique identifier of the user associated with the account.

      • type string

        The sale type.

      • externalReferences array[string]

        List of order reference identifiers.

      • nbCovers number(double)

        The number of covers.

      • dineIn boolean

        Whether the order is dine-in.

      • deviceId integer(int64)

        The id of the device where the account was created.

      • The name of the device where the account was created.

      • The void reason, if applicable.

    • Token to use to get the next page of results, if applicable.

  • 400 application/json

    Bad Request - Invalid request parameters or format.

    Hide response attribute Show response attribute object
  • 500 application/json

    Internal Server Error - An error occurred on the server.

    Hide response attributes Show response attributes object
GET /f/v2/business-location/{businessLocationId}/sales
curl \
 -X GET https://api.trial.lsk.lightspeed.app/f/v2/business-location/45454565682155/sales?from=2023-01-01T14%3A00%3A00Z&to=2023-01-01T13%3A00%3A00Z \
 -H "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "sales": [
    {
      "accountReference": "57X0j3hzTZ2oo9sdVWiUog==",
      "accountFiscId": "A65315.17",
      "receiptId": "R65315.13",
      "source": {
        "initialAccountId": "A65315.13",
        "previousAccountId": "A65315.15"
      },
      "salesLines": [
        {
          "id": "S65315.33",
          "parentLineId": "S65315.32",
          "totalNetAmountWithTax": "11.00",
          "totalNetAmountWithoutTax": "8.33",
          "menuListPrice": "10.00",
          "unitCostPrice": "5.00",
          "serviceCharge": "1.00",
          "serviceChargeRate": "10.00",
          "discountAmount": "0.00",
          "taxCode": "VAT20",
          "taxAmount": "1.6667",
          "taxRatePercentage": "20.00",
          "taxLines": [
            {
              "taxId": "41910290874374",
              "taxCode": "VAT20",
              "taxRate": "1.2",
              "taxAmount": "1.666667",
              "taxIncluded": true
            }
          ],
          "discountType": "DISCOUNT",
          "discountCode": "10PCT",
          "discountName": "10% Discount",
          "accountDiscountAmount": "1.00",
          "totalDiscountAmount": "1.00",
          "sku": "52",
          "name": "Burger",
          "statisticGroup": "Food",
          "quantity": "1.000",
          "accountingGroup": {
            "accountingGroupId": 141948669132845,
            "name": "Food",
            "statisticGroup": "Food",
            "code": "123"
          },
          "currency": "GBP",
          "tags": [
            "string"
          ],
          "revenueCenter": "Fixed POS",
          "revenueCenterId": 141948669132822,
          "categories": [
            {
              "category": "default",
              "value": "Food"
            }
          ],
          "timeOfSale": "2023-07-27T19:58:22.474Z",
          "staffId": 14670,
          "staffName": "Manager",
          "deviceId": 75125,
          "deviceName": "iPad9",
          "voidReason": "Unhappy Client",
          "accountProfileCode": "AAP"
        }
      ],
      "payments": [
        {
          "code": "CASH",
          "description": "Cash",
          "paymentMethodId": 141948669132824,
          "netAmountWithTax": "11.00",
          "currency": "GBP",
          "tip": "0.00",
          "consumer": {
            "id": "ec021fb0-4c12-425e-b30f-320ab720448b",
            "customerId": 120913,
            "title": "Mr",
            "firstName": "John",
            "lastName": "Doe",
            "phoneNumber1": "555-555-5555",
            "phoneNumber2": "555-555-5556",
            "companyName": "Company Name",
            "addressLine1": "123 Street st.",
            "addressLine2": "Unit 123",
            "zipCode": "12345",
            "city": "Some City",
            "state": "Some State",
            "email": "example@example.com"
          },
          "type": "NORMAL",
          "deviceId": "72676",
          "deviceName": "ipad9",
          "staffId": 180480,
          "staffName": "Manager",
          "authorization": "001",
          "externalReference": "1000",
          "revenueCenter": "Fixed POS",
          "revenueCenterId": 141948669132822,
          "fiscId": "T72691.8",
          "uuid": "bc7i2X_CTkeg8qlec66wmg==",
          "fiscDate": "2023-02-14T20:04:08.665Z",
          "surcharge": "0.00"
        }
      ],
      "timeOfOpening": "2023-02-14T19:58:48.224Z",
      "timeClosed": "2023-02-14T20:04:08.734Z",
      "cancelled": false,
      "externalFiscalNumber": "IntegratorReferenceId",
      "tableNumber": "1",
      "tableName": "Dining Room, Table 1",
      "accountProfileCode": "AAP",
      "ownerName": "Manager",
      "ownerId": 14670,
      "type": "SALE, VOID, RECALL, REFUND, SPLIT, UPDATE, TRANSFER, FLOAT, TRANSITORY",
      "externalReferences": [
        "[\"TASK:OO-141948669132802-UNIQUEORDERREFERENCEE\", \"TASK:OO-141948669132802-UNIQUEORDERREFERENCEF\"]"
      ],
      "nbCovers": 2.0,
      "dineIn": true,
      "deviceId": 75125,
      "deviceName": "ipad9",
      "voidReason": "Unhappy Client"
    }
  ],
  "nextPageToken": "string"
}
{
  "error": "Invalid date format: 12/12/2023"
}
{
  "error": "Required request parameter 'from' for method parameter type OffsetDateTime is not present"
}
{
  "error": "Invalid date range: 'from' date %s should not be after 'to' date %s"
}
Response examples (500)
{
  "timestamp": "2024-05-04T09:42:00+00:00",
  "path": "string",
  "status": 42,
  "error": "string",
  "requestId": "string"
}