v1

latestOpenAPI 3.1.02026-08-06911,228852.2 KB
Reservations for Platforms

Create or Update Platform Profile

Create or update details for external reservation platform.

post/reservation/api/1/platform/{platform-code}/profile

Path parameters

platform-codestring required

The unique code assigned to the reservation platform.

Example:MyPlatform

Request body

baseUrlstring uri

The base URL of the external platform (optional).

depositSupportedboolean

Whether or not the platform supports deposits.

displayNamestring required

The official platform name that will be displayed.

errorsWebhookUrlstring uri

The URL where notifications for any issues will be sent. <br> Required for error notificationTypes.<br> See Get Sample Error notification.

integrationWebhookUrlstring uri

The URL where notifications for activation or deactivation of the customer's integration will be sent. <br> Required for integration notificationTypes.<br> See Integration notification.

notificationTypesstring[]

The events that trigger a notification.

onboardingWebhookUrlstring uri

The URL where notifications for the customer's integration onboarding will be sent. <br> Required for onboarding notificationTypes.<br> See Onboarding notification.

orderWebhookUrlstring uri

The URL where order notifications will be sent. <br> Required for order notificationTypes.<br> See Order Notification.

posReservationUpdateWebhookUrlstring uri

The URL where notifications about reservation changes on POS will be sent.

ownNotificationsOnlyboolean

When true, notifications will only be sent for orders linked to the reservation platform.

webhookAuthType'BASIC_AUTH' | 'BEARER_TOKEN' | 'API_KEYS' | 'OAUTH2' | 'NONE' required

The type of authentication used by the webhook.

allowCourseNumberUpdatesboolean

If true, table statuses can be customized using a number format.

allowedPosStatusesReservationServicePlatformReservationStatus[]

Example request

{
  "baseUrl": "https://my.platform/api/lsk",
  "depositSupported": true,
  "displayName": "My Platform",
  "errorsWebhookUrl": "https://my.platform/api/lsk/webhook/errors",
  "integrationWebhookUrl": "https://my.platform/api/lsk/webhook/integrations",
  "notificationTypes": [
    "ORDER_CLOSED"
  ],
  "onboardingWebhookUrl": "https://my.platform/api/lsk/webhook/onboarding",
  "orderWebhookUrl": "https://my.platform/api/lsk/webhook/orders",
  "posReservationUpdateWebhookUrl": "https://my.platform/api/lsk/webhook/reservation",
  "ownNotificationsOnly": true,
  "webhookAuthDetails": {
    "apiKeys": {
      "headers": {
        "X-API-ID": "Example-x-api-id",
        "X-API-SECRET": "Example-x-api-secret"
      },
      "parameters": {}
    },
    "basic": {
      "password": "Example-Password",
      "username": "LightspeedKSeries"
    },
    "bearer": {
      "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "ttl": "2035-01-01T00:00:00"
    },
    "oauth2": {
      "authorizationGrantType": "CLIENT_CREDENTIALS",
      "clientAuthorizationMethod": "CLIENT_SECRET_BASIC",
      "clientId": "LightspeedKSeries",
      "clientName": "LightspeedKSeries",
      "clientSecret": "Example-Client-Secret",
      "providerJwkSetUri": "https://my.platform/public-keys",
      "providerTokenUri": "https://my.platform/emitter/token",
      "scopes": [
        "webhooks-api"
      ]
    }
  },
  "webhookAuthType": "OAUTH2",
  "allowCourseNumberUpdates": true,
  "inServiceTableStatuses": [
    {
      "statusLabel": "Appetizer",
      "statusValue": "appetizer",
      "sequence": 1
    }
  ],
  "allowedPosStatuses": [
    "SCHEDULED"
  ]
}

Response

Platform profile details

baseUrlstring uri

The base URL of the external platform (optional).

depositSupportedboolean

Whether or not the platform supports deposits.

displayNamestring required

The official platform name that will be displayed.

errorsWebhookUrlstring uri

The URL where notifications for any issues will be sent. <br> Required for error notificationTypes.<br> See Get Sample Error notification.

integrationWebhookUrlstring uri

The URL where notifications for activation or deactivation of the customer's integration will be sent. <br> Required for integration notificationTypes.<br> See Integration notification.

notificationTypesstring[]

The events that trigger a notification.

onboardingWebhookUrlstring uri

The URL where notifications for the customer's integration onboarding will be sent. <br> Required for onboarding notificationTypes.<br> See Onboarding notification.

orderWebhookUrlstring uri

The URL where order notifications will be sent. <br> Required for order notificationTypes.<br> See Order Notification.

posReservationUpdateWebhookUrlstring uri

The URL where notifications about reservation changes on POS will be sent.

ownNotificationsOnlyboolean

When true, notifications will only be sent for orders linked to the reservation platform.

webhookAuthType'BASIC_AUTH' | 'BEARER_TOKEN' | 'API_KEYS' | 'OAUTH2' | 'NONE' required

The type of authentication used by the webhook.

allowCourseNumberUpdatesboolean

If true, table statuses can be customized using a number format.

allowedPosStatusesReservationServicePlatformReservationStatus[]

Reservation statuses allowed for setting on a POS. PARTIALLY_ARRIVED should be included only with ARRIVED, and PARTIALLY_SEATED only with SEATED. Requires posReservationUpdateWebhookUrl to be set.

Example response

{
  "baseUrl": "https://my.platform/api/lsk",
  "depositSupported": true,
  "displayName": "My Platform",
  "errorsWebhookUrl": "https://my.platform/api/lsk/webhook/errors",
  "integrationWebhookUrl": "https://my.platform/api/lsk/webhook/integrations",
  "notificationTypes": [
    "ORDER_CLOSED"
  ],
  "onboardingWebhookUrl": "https://my.platform/api/lsk/webhook/onboarding",
  "orderWebhookUrl": "https://my.platform/api/lsk/webhook/orders",
  "posReservationUpdateWebhookUrl": "https://my.platform/api/lsk/webhook/reservation",
  "ownNotificationsOnly": true,
  "webhookAuthType": "OAUTH2",
  "allowCourseNumberUpdates": true,
  "inServiceTableStatuses": [
    {
      "statusLabel": "Appetizer",
      "statusValue": "appetizer",
      "sequence": 1
    }
  ],
  "allowedPosStatuses": [
    "SCHEDULED"
  ]
}