Migration status - Glue API to API Platform
Edit on GitHubThis document tracks Spryker’s migration of API-providing modules to the API Platform (built on Symfony and the API Platform library). Use it to plan upgrades and check the current status of every module.
This page does not describe how to integrate API Platform into your project. For step-by-step integration instructions, see:
Why Spryker is moving to API Platform
API Platform replaces Spryker-specific patterns for routing, authentication, and resource definition with industry-standard Symfony conventions, automatic OpenAPI schema generation, and a clean separation between resource schema, provider, and validation.
| Aspect | Previous infrastructure | API Platform |
|---|---|---|
| Bootstrap | Spryker-specific application bootstrap | Symfony Kernel-based routing |
| Resource registration | Manual plugin registration in GlueApplicationDependencyProvider |
Declarative YAML resource definitions (*.resource.yml) |
| Authentication | Custom flows per module | Standard OAuth2 / Symfony Security |
| Coupling | Tight coupling between resource and routing logic | Clean separation: provider + resource schema + validation |
| Testability | Complex to test and extend | Symfony-native, testable with standard PHPUnit patterns |
| OpenAPI | Manual / partial | Automatic OpenAPI schema generation |
General migration workflow
For any module marked Migrated, projects upgrade in three high-level steps. Detailed instructions are in the linked integration guides above.
-
Update the module to the API Platform-enabled version
Pull the new module version that ships the
*.resource.ymlschema and Provider class:composer update spryker/<module-name> -
Remove the previous resource plugins
In your project’s
GlueApplicationDependencyProvider, remove the previous plugin registrations for the migrated module - typically aResourceRoutePlugin(and any relatedResourceRelationshipPlugin/ expander plugins) registered ingetResourceRoutePlugins().For extension-only modules, remove or replace the corresponding plugin wiring in the parent module’s dependency provider as indicated in the module’s release notes.
-
Clear caches and verify
vendor/bin/glue cache:clear vendor/bin/glue api:generateConfirm the endpoint is served by API Platform by hitting it against your local Glue host - the response is now produced by the new Symfony-based stack.
The previous API stack and API Platform run side by side during the transition. You can migrate modules incrementally; modules that have not been migrated continue to be served by the previous stack.
Status legend
| Status | Meaning |
|---|---|
| Migrated | Module is available on API Platform and production-ready. |
| Planned | Module is scheduled or queued for migration to API Platform. |
Storefront API modules
All StorefrontAPI and Extension-only StorefrontAPI modules. Migrated modules are listed first.
| Module | Category | Status | Key endpoints |
|---|---|---|---|
| ContentProductAbstractListsRestApi | StorefrontAPI | Migrated | GET /content-product-abstract-lists/{id} GET /content-product-abstract-lists/{id}/abstract-products |
| MerchantProductOffersRestApi | StorefrontAPI | Migrated | GET /concrete-products/{id}/product-offers GET /product-offers/{id} |
| ProductAvailabilitiesRestApi | StorefrontAPI | Migrated | GET /abstract-products/{id}/abstract-product-availabilities GET /concrete-products/{id}/concrete-product-availabilities |
| ProductOfferAvailabilitiesRestApi | StorefrontAPI | Migrated | GET /product-offers/{id}/product-offer-availabilities |
| ProductOfferPricesRestApi | StorefrontAPI | Migrated | GET /product-offers/{id}/product-offer-prices |
| ProductPricesRestApi | StorefrontAPI | Migrated | GET /abstract-products/{id}/abstract-product-prices GET /concrete-products/{id}/concrete-product-prices |
| ProductTaxSetsRestApi | StorefrontAPI | Migrated | GET /abstract-products/{id}/product-tax-sets |
| ProductsRestApi | StorefrontAPI | Migrated | GET /abstract-products/{id} GET /concrete-products/{id} |
| StoresApi | StorefrontAPI | Migrated | GET /stores |
| AgentAuthRestApi | StorefrontAPI | Planned | POST /agent-access-tokens POST /agent-customer-impersonation-access-tokens GET /agent-customer-search |
| AlternativeProductsRestApi | StorefrontAPI | Planned | GET /abstract-products/{id}/related-products GET /concrete-products/{id}/abstract-alternative-products GET /concrete-products/{id}/concrete-alternative-products |
| AuthRestApi | StorefrontAPI | Planned | POST /token POST /access-tokens POST /refresh-tokens DELETE /refresh-tokens/{id} |
| AvailabilityNotificationsRestApi | StorefrontAPI | Planned | POST /availability-notifications DELETE /availability-notifications/{id} GET /my-availability-notifications GET /customers/{id}/availability-notifications |
| CartCodesRestApi | StorefrontAPI | Planned | POST /carts/{id}/cart-codes DELETE /carts/{id}/cart-codes/{id} POST /guest-carts/{id}/cart-codes DELETE /guest-carts/{id}/cart-codes/{id} |
| CartPermissionGroupsRestApi | StorefrontAPI | Planned | GET /cart-permission-groups GET /cart-permission-groups/{id} |
| CartReorderRestApi | StorefrontAPI | Planned | POST /cart-reorder |
| CartsRestApi | StorefrontAPI | Planned | GET,POST /carts GET,PATCH,DELETE /carts/{id} POST /carts/{id}/items PATCH,DELETE /carts/{id}/items/{id} GET /guest-carts GET,PATCH /guest-carts/{id} POST /guest-carts/{id}/guest-cart-items PATCH,DELETE /guest-carts/{id}/guest-cart-items/{id} GET /customers/{id}/carts |
| CatalogSearchRestApi | StorefrontAPI | Planned | GET /catalog-search GET /catalog-search-suggestions |
| CategoriesRestApi | StorefrontAPI | Planned | GET /category-trees GET /category-nodes/{id} |
| CheckoutRestApi | StorefrontAPI | Planned | POST /checkout-data POST /checkout |
| CmsPagesRestApi | StorefrontAPI | Planned | GET /cms-pages GET /cms-pages/{id} |
| CompaniesRestApi | StorefrontAPI | Planned | GET /companies GET /companies/{id} |
| CompanyBusinessUnitAddressesRestApi | StorefrontAPI | Planned | GET /company-business-unit-addresses GET /company-business-unit-addresses/{id} |
| CompanyBusinessUnitsRestApi | StorefrontAPI | Planned | GET /company-business-units GET /company-business-units/{id} |
| CompanyRolesRestApi | StorefrontAPI | Planned | GET /company-roles GET /company-roles/{id} |
| CompanyUserAuthRestApi | StorefrontAPI | Planned | POST /company-user-access-tokens |
| CompanyUsersRestApi | StorefrontAPI | Planned | GET /company-users GET /company-users/{id} |
| ConfigurableBundleCartsRestApi | StorefrontAPI | Planned | POST /carts/{id}/configured-bundles PATCH,DELETE /carts/{id}/configured-bundles/{id} POST,PATCH,DELETE /guest-carts/{id}/guest-configured-bundles/{id} |
| ConfigurableBundlesRestApi | StorefrontAPI | Planned | GET /configurable-bundle-templates GET /configurable-bundle-templates/{id} |
| ContentBannersRestApi | StorefrontAPI | Planned | GET /content-banners/{id} |
| CustomerAccessRestApi | StorefrontAPI | Planned | GET /customer-access |
| CustomersRestApi | StorefrontAPI | Planned | GET,POST /customers GET,PATCH,DELETE /customers/{id} GET,POST /customers/{id}/addresses GET,PATCH,DELETE /customers/{id}/addresses/{id} POST /customer-forgotten-password PATCH /customer-restore-password/{id} PATCH /customer-password/{id} POST /customer-confirmation |
| DiscountPromotionsRestApi | Extension-Only-StorefrontAPI | Planned | CartsRestApi, CartCodesRestApi |
| DiscountsRestApi | StorefrontAPI | Planned | POST /carts/{id}/vouchers DELETE /carts/{id}/vouchers/{id} POST /guest-carts/{id}/vouchers DELETE /guest-carts/{id}/vouchers/{id} |
| EntityTagsRestApi | Extension-only StorefrontAPI | Planned | GlueApplication |
| GiftCardsRestApi | Extension-only StorefrontAPI | Planned | GlueApplication |
| MerchantCategoriesRestApi | Extension-only StorefrontAPI | Planned | MerchantsRestApi |
| MerchantOpeningHoursRestApi | StorefrontAPI | Planned | GET /merchants/{id}/merchant-opening-hours |
| MerchantProductOfferServicePointAvailabilitiesRestApi | Extension-only StorefrontAPI | Planned | (transfer-only) |
| MerchantProductOfferShoppingListsRestApi | Extension-only StorefrontAPI | Planned | (transfer-only) |
| MerchantProductOfferWishlistRestApi | Extension-only StorefrontAPI | Planned | WishlistsRestApi |
| MerchantProductShoppingListsRestApi | Extension-only StorefrontAPI | Planned | (transfer-only) |
| MerchantProductsRestApi | Extension-only StorefrontAPI | Planned | CartsRestApi |
| MerchantRelationshipProductListsRestApi | Extension-only StorefrontAPI | Planned | CustomersRestApi |
| MerchantSalesReturnsRestApi | Extension-only StorefrontAPI | Planned | (transfer-only) |
| MerchantShipmentsRestApi | Extension-only StorefrontAPI | Planned | ShipmentsRestApi |
| MerchantsRestApi | StorefrontAPI | Planned | GET /merchants GET /merchants/{id} GET /merchants/{id}/merchant-addresses |
| MultiCartsRestApi | Extension-only StorefrontAPI | Planned | CartsRestApi |
| NavigationsRestApi | StorefrontAPI | Planned | GET /navigations/{id} |
| OauthApi | StorefrontAPI | Planned | POST /token |
| OmsRestApi | Extension-only StorefrontAPI | Planned | OrdersRestApi |
| OrderAmendmentsRestApi | Extension-only StorefrontAPI | Planned | OrdersRestApi, CartsRestApi, CartReorderRestApi |
| OrderPaymentsRestApi | StorefrontAPI | Planned | POST /order-payments |
| OrdersRestApi | StorefrontAPI | Planned | GET /orders GET /orders/{id} GET /customers/{id}/orders |
| PaymentsRestApi | StorefrontAPI | Planned | POST /payments POST /payment-cancellations POST /payment-customers |
| PriceProductOfferVolumesRestApi | Extension-only StorefrontAPI | Planned | ProductOfferPricesRestApi |
| PriceProductVolumesRestApi | Extension-only StorefrontAPI | Planned | ProductPricesRestApi |
| ProductAttributesRestApi | StorefrontAPI | Planned | GET /product-management-attributes GET /product-management-attributes/{id} |
| ProductBundleCartsRestApi | Extension-only StorefrontAPI | Planned | CartsRestApi, ShipmentsRestApi |
| ProductBundlesRestApi | StorefrontAPI | Planned | GET /concrete-products/{id}/bundled-products |
| ProductConfigurationShoppingListsRestApi | Extension-only StorefrontAPI | Planned | ShoppingListsRestApi |
| ProductConfigurationWishlistsRestApi | Extension-only StorefrontAPI | Planned | WishlistsRestApi |
| ProductConfigurationsPriceProductVolumesRestApi | Extension-only StorefrontAPI | Planned | ProductConfigurationsRestApi, ProductConfigurationShoppingListsRestApi, ProductConfigurationWishlistsRestApi |
| ProductConfigurationsRestApi | Extension-only StorefrontAPI | Planned | ProductsRestApi, CartsRestApi, OrdersRestApi |
| ProductDiscontinuedRestApi | Extension-only StorefrontAPI | Planned | ProductsRestApi |
| ProductImageSetsRestApi | StorefrontAPI | Planned | GET /abstract-products/{id}/abstract-product-image-sets GET /concrete-products/{id}/concrete-product-image-sets |
| ProductLabelsRestApi | StorefrontAPI | Planned | GET /product-labels/{id} |
| ProductMeasurementUnitsRestApi | StorefrontAPI | Planned | GET /product-measurement-units/{id} GET /concrete-products/{id}/sales-units |
| ProductOfferSalesRestApi | Extension-only StorefrontAPI | Planned | (transfer-only) |
| ProductOfferServicePointAvailabilitiesRestApi | StorefrontAPI | Planned | POST /product-offer-service-point-availabilities |
| ProductOfferShoppingListsRestApi | Extension-only StorefrontAPI | Planned | (transfer-only) |
| ProductOffersRestApi | Extension-only StorefrontAPI | Planned | ProductsRestApi |
| ProductOptionsRestApi | Extension-only StorefrontAPI | Planned | CartsRestApi, OrdersRestApi, ProductsRestApi, QuoteRequestsRestApi |
| ProductReviewsRestApi | StorefrontAPI | Planned | GET,POST /abstract-products/{id}/product-reviews GET /abstract-products/{id}/product-reviews/{id} |
| QuoteRequestAgentsRestApi | StorefrontAPI | Planned | GET,POST /agent-quote-requests GET,PATCH /agent-quote-requests/{id} POST /agent-quote-requests/{id}/agent-quote-request-cancel POST /agent-quote-requests/{id}/agent-quote-request-revise POST /agent-quote-requests/{id}/agent-quote-request-send-to-customer |
| QuoteRequestsRestApi | StorefrontAPI | Planned | GET,POST /quote-requests GET,PATCH /quote-requests/{id} POST /quote-requests/{id}/quote-request-cancel POST /quote-requests/{id}/quote-request-revise POST /quote-requests/{id}/quote-request-send-to-user POST /quote-requests/{id}/quote-request-convert-to-quote |
| RelatedProductsRestApi | StorefrontAPI | Planned | GET /abstract-products/{id}/related-products |
| SalesOrderThresholdsRestApi | Extension-only StorefrontAPI | Planned | CartsRestApi, CheckoutRestApi |
| SalesReturnsRestApi | StorefrontAPI | Planned | GET /return-reasons GET,POST /returns GET /returns/{id} |
| SecurityBlockerRestApi | Extension-only StorefrontAPI | Planned | GlueApplication |
| ServicePointCartsRestApi | Extension-only StorefrontAPI | Planned | CheckoutRestApi |
| ServicePointsRestApi | StorefrontAPI | Planned | GET /service-points GET /service-points/{id} GET /service-points/{id}/service-point-addresses/{id} |
| SharedCartsRestApi | StorefrontAPI | Planned | POST /carts/{id}/shared-carts PATCH,DELETE /shared-carts/{id} |
| ShipmentTypeProductOfferServicePointAvailabilitiesRestApi | Extension-only StorefrontAPI | Planned | ProductOfferServicePointAvailabilitiesRestApi |
| ShipmentTypeServicePointsRestApi | Extension-only StorefrontAPI | Planned | CheckoutRestApi, ShipmentsRestApi, ShipmentTypesRestApi |
| ShipmentTypesRestApi | StorefrontAPI | Planned | GET /shipment-types GET /shipment-types/{id} |
| ShipmentsRestApi | Extension-only StorefrontAPI | Planned | CheckoutRestApi, OrdersRestApi, QuoteRequestsRestApi |
| ShoppingListsRestApi | StorefrontAPI | Planned | GET,POST /shopping-lists GET,PATCH,DELETE /shopping-lists/{id} POST /shopping-lists/{id}/shopping-list-items PATCH,DELETE /shopping-lists/{id}/shopping-list-items/{id} |
| TaxAppRestApi | StorefrontAPI | Planned | POST /tax-id-validate |
| UpSellingProductsRestApi | StorefrontAPI | Planned | GET /carts/{id}/up-selling-products GET /guest-carts/{id}/up-selling-products |
| UrlsRestApi | StorefrontAPI | Planned | GET /url-resolver |
| WishlistsRestApi | StorefrontAPI | Planned | GET,POST /wishlists GET,PATCH,DELETE /wishlists/{id} POST /wishlists/{id}/wishlist-items PATCH,DELETE /wishlists/{id}/wishlist-items/{id} |
Backend API modules
All BackendAPI modules tracked in the migration scope.
| Module | Category | Status | Key endpoints |
|---|---|---|---|
| CartNotesBackendApi | Extension-Only BackendAPI | Planned | SalesOrdersBackendApi |
| CategoriesBackendApi | BackendAPI | Planned | GET,POST /categories GET,PATCH /categories/{id} |
| DynamicEntityBackendApi | BackendAPI | Planned | GET,POST,PATCH,PUT /dynamic-entity/{entity-name} (~62 auto-generated entity endpoints) |
| OauthBackendApi | BackendAPI | Planned | POST /token |
| PickingListsBackendApi | BackendAPI | Planned | GET /picking-lists GET /picking-lists/{id} PATCH /picking-lists/{id}/picking-list-items/{id} POST /start-picking |
| PickingListsUsersBackendApi | Extension-Only BackendAPI | Planned | PickingListsBackendApi |
| PickingListsWarehousesBackendApi | Extension-Only BackendAPI | Planned | PickingListsBackendApi |
| ProductAttributesBackendApi | BackendAPI | Planned | GET,POST /product-attributes GET,PATCH /product-attributes/{id} |
| ProductImageSetsBackendApi | BackendAPI | Planned | GET /concrete-product-image-sets |
| ProductPackagingUnitsBackendApi | Extension-Only BackendAPI | Planned | PickingListsBackendApi |
| ProductsBackendApi | BackendAPI | Planned | GET,POST /product-abstract DELETE,GET,PATCH /product-abstract/{id} |
| PushNotificationsBackendApi | BackendAPI | Planned | GET,POST /push-notification-providers PATCH,DELETE /push-notification-providers/{id} POST /push-notification-subscriptions |
| SalesOrdersBackendApi | BackendAPI | Planned | GET /sales-orders |
| ServicePointsBackendApi | BackendAPI | Planned | GET,POST /service-points GET,PATCH /service-points/{id} GET,POST /service-point-addresses PATCH /service-points/{id}/service-point-addresses/{id} GET,POST /service-types GET,PATCH /service-types/{id} GET,POST /services GET,PATCH /services/{id} |
| ShipmentTypesBackendApi | BackendAPI | Planned | GET,POST /shipment-types GET,PATCH /shipment-types/{id} |
| ShipmentsBackendApi | BackendAPI | Planned | GET /sales-shipments |
| StoresBackendApi | BackendAPI | Planned | GET,POST,PATCH /stores |
| UsersBackendApi | BackendAPI | Planned | GET /users |
| WarehouseOauthBackendApi | BackendAPI | Planned | POST /warehouse-tokens |
| WarehouseUsersBackendApi | BackendAPI | Planned | GET,POST /warehouse-user-assignments GET,PATCH,DELETE /warehouse-user-assignments/{id} |
| WarehousesBackendApi | BackendAPI | Planned | GET /warehouses |
Thank you!
For submitting the form