Create or Update Platform Profile
Create or update details for external reservation platform.
Path parameters
-
The unique code assigned to the reservation platform.
Maximum length is
11
. Format should match the following pattern:[a-zA-Z0-9_-]+
.
Body Required
-
baseUrl string(uri)
The base URL of the external platform (optional).
-
depositSupported boolean
Whether or not the platform supports deposits.
-
The official platform name that will be displayed.
-
errorsWebhookUrl string
The URL where notifications for any issues will be sent.
Required forerror
notificationTypes.
See Get Sample Error notification. -
integrationWebhookUrl string
The URL where notifications for activation or deactivation of the customer's integration will be sent.
Required forintegration
notificationTypes.
See Integration notification. -
notificationTypes array[string]
The events that trigger a notification.
Values are
ORDER_OPENED
,ORDER_UPDATED
,ORDER_CLOSED
,ONBOARDING_STARTED
,INTEGRATION_ACTIVATED
,INTEGRATION_DEACTIVATED
, orERROR
. -
onboardingWebhookUrl string
The URL where notifications for the customer's integration onboarding will be sent.
Required foronboarding
notificationTypes.
See Onboarding notification. -
orderWebhookUrl string
The URL where order notifications will be sent.
Required fororder
notificationTypes.
See Order Notification. -
ownNotificationsOnly boolean
When
true
, notifications will only be sent for orders linked to the reservation platform. -
The authentication credentials to be sent with the webhook notifications.
Additional properties are allowed.
-
The type of authentication used by the webhook.
Values are
BASIC_AUTH
,BEARER_TOKEN
,API_KEYS
,OAUTH2
, orNONE
. -
allowCourseNumberUpdates boolean
If true, table statuses can be customized using a number format.
Default value is
false
. -
inServiceTableStatuses array[object]
List of customizable table statuses that will be used to notify platforms about reservation progress with outbound API.
curl \
-X POST https://api.lsk.lightspeed.app/reservation/api/1/platform/MyPlatform/profile \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"baseUrl":"https://my.platform/api","depositSupported":true,"displayName":"My Platform","errorsWebhookUrl":"https://my.platform/api/webhook/errors","integrationWebhookUrl":"https://my.platform/api/webhook/integrations","notificationTypes":["ORDER_CLOSED"],"onboardingWebhookUrl":"https://my.platform/api/webhook/onboarding","orderWebhookUrl":"https://my.platform/api/webhook/orders","ownNotificationsOnly":true,"webhookAuthDetails":{"apiKeys":{"headers":{"X-API-ID":"Example-x-api-id","X-API-SECRET":"Example-x-api-secret"},"parameters":{"additionalProperty1":"string","additionalProperty2":"string"}},"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}]}'
{
"baseUrl": "https://my.platform/api",
"depositSupported": true,
"displayName": "My Platform",
"errorsWebhookUrl": "https://my.platform/api/webhook/errors",
"integrationWebhookUrl": "https://my.platform/api/webhook/integrations",
"notificationTypes": [
"ORDER_CLOSED"
],
"onboardingWebhookUrl": "https://my.platform/api/webhook/onboarding",
"orderWebhookUrl": "https://my.platform/api/webhook/orders",
"ownNotificationsOnly": true,
"webhookAuthDetails": {
"apiKeys": {
"headers": {
"X-API-ID": "Example-x-api-id",
"X-API-SECRET": "Example-x-api-secret"
},
"parameters": {
"additionalProperty1": "string",
"additionalProperty2": "string"
}
},
"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
}
]
}
{
"baseUrl": "https://my.platform/api",
"depositSupported": true,
"displayName": "My Platform",
"errorsWebhookUrl": "https://my.platform/api/webhook/errors",
"integrationWebhookUrl": "https://my.platform/api/webhook/integrations",
"notificationTypes": [
"ORDER_CLOSED"
],
"onboardingWebhookUrl": "https://my.platform/api/webhook/onboarding",
"orderWebhookUrl": "https://my.platform/api/webhook/orders",
"ownNotificationsOnly": true,
"webhookAuthType": "OAUTH2",
"allowCourseNumberUpdates": true,
"inServiceTableStatuses": [
{
"statusLabel": "Appetizer",
"statusValue": "appetizer",
"sequence": 1
}
]
}