Download OpenAPI specification:
(v1.0) LS Central scanPayGo API for Dynamics 365 Business Central. Published by the LS Central AL API pages at /api/lsRetail/scanPayGo/v1.0.
The feature-flag child collection of spgProfiles - each row is a feature toggle set on a ScanPayGo profile. Reachable standalone or via $expand from the spgProfiles entity. The underlying table''s Feature Value field is deliberately excluded - it is typed Blob, which is not a supported field type on an API page.
| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| $top | number <int64> >= 0 Example: $top=50 Show only the first n items |
| $skip | number <int64> >= 0 Skip the first n items |
| $search | string Search items by search phrases |
| $filter | string Filter items by property values |
| $count | boolean Include count of items |
| $orderby | Array of strings unique Order items by property values |
| $select | Array of strings unique Items Enum: "id" "profileCode" "featureId" "description" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "value": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}
]
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgFeatureFlag-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgFeatureFlag |
| $select | Array of strings unique Items Enum: "id" "profileCode" "featureId" "description" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgProfile-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfile |
| $top | number <int64> >= 0 Example: $top=50 Show only the first n items |
| $skip | number <int64> >= 0 Skip the first n items |
| $search | string Search items by search phrases |
| $filter | string Filter items by property values |
| $count | boolean Include count of items |
| $orderby | Array of strings unique Order items by property values |
| $select | Array of strings unique Items Enum: "id" "profileCode" "featureId" "description" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "value": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}
]
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgProfile-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfile |
| spgFeatureFlag-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgFeatureFlag |
| $select | Array of strings unique Items Enum: "id" "profileCode" "featureId" "description" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}Replaces the legacy SPGProfileGet SOAP operation with a read-only OData v4 entity. The legacy operation is left untouched and remains available during an 18-month coexistence window - this entity is purely additive and opt-in for consumers ready to migrate. This first phase is read-only: Insert, Modify, and Delete are not supported over the API. The base GET on this entity set is intentionally unfiltered/unscoped: "LSC Scan Pay Go Profile" is reference data with no store or distribution ownership of its own. Store-scoped resolution (replicating the legacy SPGProfileGet operation''s StoreID-based lookup) is available via the resolveForStore action, not via a filter on this entity set. Two bound actions are provided: resolveForStore(storeId) replicates the legacy SPGProfileGet StoreID resolution chain (direct store link, then store-group fallback, then the "All Stores" group) and returns the matching profile(s) as JSON - the legacy store-to-store-group resolution is not guaranteed to be 1:1, so more than one profile can be returned for a single store. checkSecurity(storeNo, customerOrderId) delegates to the existing ScanPayGo security-check algorithm for a customer order at a store and returns whether the security check passed. The spgProfileTenders and spgFeatureFlags parts expose the profile''s linked tender types and feature flags and can also be reached standalone or via $expand.
| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| $top | number <int64> >= 0 Example: $top=50 Show only the first n items |
| $skip | number <int64> >= 0 Skip the first n items |
| $search | string Search items by search phrases |
| $filter | string Filter items by property values |
| $count | boolean Include count of items |
| $orderby | Array of strings unique Order items by property values |
| $select | Array of strings unique Items Enum: "id" "code" "description" "securityCheckTrigger" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Items Enum: "spgProfileTenders" "spgFeatureFlags" Expand related entities |
{- "value": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "code": "string",
- "description": null,
- "securityCheckTrigger": "When_x0020_selecting_x0020_payment",
- "lastModifiedDateTime": null,
- "spgProfileTenders": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}
], - "spgFeatureFlags": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}
]
}
]
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgProfile-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfile |
| $select | Array of strings unique Items Enum: "id" "code" "description" "securityCheckTrigger" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Items Enum: "spgProfileTenders" "spgFeatureFlags" Expand related entities |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "code": "string",
- "description": null,
- "securityCheckTrigger": "When_x0020_selecting_x0020_payment",
- "lastModifiedDateTime": null,
- "spgProfileTenders": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}
], - "spgFeatureFlags": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}
]
}Runs the ScanPayGo security check algorithm for a customer order at a store, replicating the legacy SecurityCheckProfile operation exactly (including its logging side effect).
| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgProfile-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfile |
Action parameters
| storeNo | null or string |
| customerOrderId | null or string |
{- "storeNo": null,
- "customerOrderId": null
}{- "value": null
}Resolves the ScanPayGo profile(s) applicable to a store, replicating the legacy SPGProfileGet StoreID resolution chain (direct store link, then store-group fallback, then the "All Stores" group). May return more than one profile.
| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgProfile-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfile |
Action parameters
| storeId | null or string |
{- "storeId": null
}{- "value": null
}The tender-linking child collection of spgProfiles - each row is a tender type allowed on a ScanPayGo profile. Reachable standalone or via $expand from the spgProfiles entity.
| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgProfile-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfile |
| $top | number <int64> >= 0 Example: $top=50 Show only the first n items |
| $skip | number <int64> >= 0 Skip the first n items |
| $search | string Search items by search phrases |
| $filter | string Filter items by property values |
| $count | boolean Include count of items |
| $orderby | Array of strings unique Order items by property values |
| $select | Array of strings unique Items Enum: "id" "profileCode" "tenderTypeCode" "tenderDescription" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "value": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}
]
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgProfile-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfile |
| spgProfileTender-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfileTender |
| $select | Array of strings unique Items Enum: "id" "profileCode" "tenderTypeCode" "tenderDescription" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| $top | number <int64> >= 0 Example: $top=50 Show only the first n items |
| $skip | number <int64> >= 0 Skip the first n items |
| $search | string Search items by search phrases |
| $filter | string Filter items by property values |
| $count | boolean Include count of items |
| $orderby | Array of strings unique Order items by property values |
| $select | Array of strings unique Items Enum: "id" "profileCode" "tenderTypeCode" "tenderDescription" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "value": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}
]
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgProfileTender-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgProfileTender |
| $select | Array of strings unique Items Enum: "id" "profileCode" "tenderTypeCode" "tenderDescription" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}Exposes the ScanPayGo Security Check Log (table "LSC SPG Security Check Log") as an OData v4 entity supporting GET and POST. GET replaces the legacy RetailWebServices SOAP SecurityCheckLog(orderNo) call (GetGeneralWebRequestXML("LSC SPG Security Check Log", "Customer Order ID", orderNo)). A customer order can have multiple log entries; the legacy caller reads the LAST (most recent) row for the order. The OData equivalent of that "most recent" semantic is purely query-side and requires no server-side code: $filter=customerOrderId eq ''...''&$orderby=entryNo desc&$top=1. entryNo is the true primary key (AutoIncrement) and is read-only. POST replaces the legacy SPGLogSecurityCheckResponse SOAP operation: customerOrderId, check, and errorMessage are the only caller-supplied fields on insert. source is always forced to Employee and memberCardNo is always forced blank, exactly matching legacy SPGLogSecurityCheckResponse semantics, regardless of what the client submits for those fields. The customer order must exist (open or posted) or the insert is rejected. Modify and Delete remain unsupported: log entries are append-only. This entity has moved from the customerOrder APIGroup to scanPayGo, consolidating it with the other ScanPayGo entities (spgProfiles, spgProfileTenders, spgFeatureFlags) — this changes the entity''s OData URL path.
| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| $top | number <int64> >= 0 Example: $top=50 Show only the first n items |
| $skip | number <int64> >= 0 Skip the first n items |
| $search | string Search items by search phrases |
| $filter | string Filter items by property values |
| $count | boolean Include count of items |
| $orderby | Array of strings unique Order items by property values |
| $select | Array of strings unique Items Enum: "id" "entryNo" "customerOrderId" "memberCardNo" "source" "check" "errorMessage" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "value": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entryNo": null,
- "customerOrderId": null,
- "memberCardNo": null,
- "source": "Customer",
- "check": null,
- "errorMessage": null,
- "lastModifiedDateTime": null
}
]
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
New navigation property
| id | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... |
| entryNo | null or number <int32> [ -2147483648 .. 2147483647 ] |
| customerOrderId | null or string <= 20 characters |
| memberCardNo | null or string <= 100 characters |
(lscspgSecurityCheckSource (null or string)) | |
| check | null or boolean |
| errorMessage | null or string <= 256 characters |
| lastModifiedDateTime | null or string <date-time> ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|... |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entryNo": null,
- "customerOrderId": null,
- "memberCardNo": null,
- "source": "Customer",
- "check": null,
- "errorMessage": null,
- "lastModifiedDateTime": null
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entryNo": null,
- "customerOrderId": null,
- "memberCardNo": null,
- "source": "Customer",
- "check": null,
- "errorMessage": null,
- "lastModifiedDateTime": null
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| spgSecurityCheckLog-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of spgSecurityCheckLog |
| $select | Array of strings unique Items Enum: "id" "entryNo" "customerOrderId" "memberCardNo" "source" "check" "errorMessage" "lastModifiedDateTime" Select properties to be returned |
| $expand | Array of strings unique Expand related entities |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entryNo": null,
- "customerOrderId": null,
- "memberCardNo": null,
- "source": "Customer",
- "check": null,
- "errorMessage": null,
- "lastModifiedDateTime": null
}| $top | number <int64> >= 0 Example: $top=50 Show only the first n items |
| $skip | number <int64> >= 0 Skip the first n items |
| $search | string Search items by search phrases |
| $filter | string Filter items by property values |
| $count | boolean Include count of items |
| $orderby | Array of strings unique Order items by property values |
| $select | Array of strings unique Items Enum: "id" "systemVersion" "timestamp" "name" "displayName" "businessProfileId" "systemCreatedAt" "systemCreatedBy" "systemModifiedAt" "systemModifiedBy" Select properties to be returned |
| $expand | Array of strings unique Items Enum: "spgSecurityCheckLogs" "spgProfiles" "spgProfileTenders" "spgFeatureFlags" Expand related entities |
{- "value": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "systemVersion": null,
- "timestamp": null,
- "name": null,
- "displayName": null,
- "businessProfileId": null,
- "systemCreatedAt": null,
- "systemCreatedBy": null,
- "systemModifiedAt": null,
- "systemModifiedBy": null,
- "spgSecurityCheckLogs": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entryNo": null,
- "customerOrderId": null,
- "memberCardNo": null,
- "source": "Customer",
- "check": null,
- "errorMessage": null,
- "lastModifiedDateTime": null
}
], - "spgProfiles": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "code": "string",
- "description": null,
- "securityCheckTrigger": "When_x0020_selecting_x0020_payment",
- "lastModifiedDateTime": null,
- "spgProfileTenders": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}
], - "spgFeatureFlags": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}
]
}
], - "spgProfileTenders": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}
], - "spgFeatureFlags": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}
]
}
]
}| company-id required | string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}... The unique identifier of company |
| $select | Array of strings unique Items Enum: "id" "systemVersion" "timestamp" "name" "displayName" "businessProfileId" "systemCreatedAt" "systemCreatedBy" "systemModifiedAt" "systemModifiedBy" Select properties to be returned |
| $expand | Array of strings unique Items Enum: "spgSecurityCheckLogs" "spgProfiles" "spgProfileTenders" "spgFeatureFlags" Expand related entities |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "systemVersion": null,
- "timestamp": null,
- "name": null,
- "displayName": null,
- "businessProfileId": null,
- "systemCreatedAt": null,
- "systemCreatedBy": null,
- "systemModifiedAt": null,
- "systemModifiedBy": null,
- "spgSecurityCheckLogs": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "entryNo": null,
- "customerOrderId": null,
- "memberCardNo": null,
- "source": "Customer",
- "check": null,
- "errorMessage": null,
- "lastModifiedDateTime": null
}
], - "spgProfiles": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "code": "string",
- "description": null,
- "securityCheckTrigger": "When_x0020_selecting_x0020_payment",
- "lastModifiedDateTime": null,
- "spgProfileTenders": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}
], - "spgFeatureFlags": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}
]
}
], - "spgProfileTenders": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "tenderTypeCode": null,
- "tenderDescription": null,
- "lastModifiedDateTime": null
}
], - "spgFeatureFlags": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileCode": null,
- "featureId": null,
- "description": null,
- "lastModifiedDateTime": null
}
]
}