bagisto/bagisto-api
REST and GraphQL API layer for Bagisto 2.3.8+, built on API Platform. Quickly install via Composer and an Artisan installer to get API docs, GraphQL Playground, and shop/admin endpoints for e‑commerce integrations and extensions.
Customer REST API (parity with existing GraphQL)
Admin REST + GraphQL API (new surface)
all, custom, same_as_web), configurable expiry, regeneration, and revocation. Lifecycle email notifications on generate / regenerate / revoke, including a signed login-free revoke link sent to the token owner.Admin API endpoints by menu
_warnings array surfacing dropped sub-resource fields); delete; copy; mass-delete; mass-update-status. Sub-resources: images (multipart upload, reorder, delete), inventories (list plus bulk update with meta.totalQty), and customer-group prices (full CRUD with composite uniqueness).Infrastructure
{ data, meta } envelope on every admin paginated collection.X-Total-Count, X-Page, X-Per-Page, X-Total-Pages on every paginated REST endpoint (CORS-exposed so JavaScript clients can read them).application/json request bodies on admin endpoints no longer return 500 — accepted as {} automatically.X-STOREFRONT-KEY is no longer required on admin endpoints. Admin auth is Bearer-only; the storefront key remains required on shop endpoints.success and message fields, matching the other checkout endpoints.1.0.4 in Swagger / API Platform configuration.toggleWishlist mutation no longer fails with "Internal server error" when a downstream listener misbehaves — the toggle completes successfully and listener failures are silently swallowed.removeCartItem, applyCoupon, and removeCoupon GraphQL responses now carry the correct success and message fields. Apply-coupon verifies the code actually applied before reporting success.readCart now returns the applied couponCode (previously always null after applying a coupon).currentPassword for password changes (previously rejected as missing).logoPath and logoUrl (null when unset) so clients can rely on field presence.createNewsletter GraphQL mutation now correctly accepts customerEmail (previously rejected as missing).top-selling-products and reporting top-selling-products-by-revenue / by-quantity no longer return "Internal server error".locales / currencies / inventory_sources when those fields are omitted from the request body.PageProvider for CMS page API resource.InstallApiPlatformCommand.cache(...) → correct artisan command).bagisto-api-platform:install artisan command (installation command for the platform).bootstrap/providers.php.post-autoload-dump composer hook.InstallApiPlatformCommand.bagisto/bagisto-api./api/docs and GraphQL playground at /graphiql.Customer account APIs
CustomerOrderProvider).CustomerOrderShipmentProvider).CustomerInvoiceProvider) and invoice PDF download (InvoicePdfController).CustomerReviewProvider).CustomerDownloadableProductProvider) and purchased-downloads download endpoint (DownloadablePurchasedController).CancelOrderProcessor + CancelOrderInput DTO).ReorderProcessor + ReorderInput DTO).CustomerProfileOutput) and profile helper.Catalog & storefront APIs
PageProvider, GraphQL PageByUrlKeyResolver tagged as collection query resolver).ChannelProvider).BookingSlotProvider) and mutations for Booking / Event Booking product types.DownloadSampleController).ContactUsProcessor + ContactUsInput/ContactUsOutput DTOs).Cart, wishlist & compare
CartTokenProcessor extended).CompareItemProvider/CompareItemProcessor) + delete-all (DeleteAllCompareItemsProcessor).WishlistProvider/WishlistProcessor) + delete-all (DeleteAllWishlistsProcessor).MoveWishlistToCartProcessor + input/output DTOs).Infrastructure
php artisan bagisto-api-platform:cache:clear (ClearApiPlatformCacheCommand).CursorAwareCollectionProvider for cursor-based pagination.FixedSerializerContextBuilder to patch API Platform serializer context handling.SnakeCaseLinksHandler for consistent snake_case link rendering.en/app.php + 20 locale files: ar, bn, ca, de, es, fa, fr, he, hi_IN, id, it, ja, nl, pl, pt_BR, ru, sin, tr, uk, zh_CN) including Event Booking product type strings.formattedPrice (ShippingRateOutput updated).InstallApiPlatformCommand now publishes vendor config.api-platform/laravel and api-platform/graphql pinned to specific versions in composer.json.info.version bumped to 1.0.3 in config/api-platform.php, config/api-platform-vendor.php, and the SwaggerUIController error fallback.attributeValues key resolved correctly in product query data.formattedPrice field for downloadable and Event Booking product types.api-platform-vendor.php newline hygiene.graphqli → graphiql typo in the GraphQL Playground link.CHANGELOG.md (this file).How can I help you explore Laravel packages today?