bagisto/bagisto-api
Comprehensive REST and GraphQL APIs for Bagisto e-commerce, exposing shop and admin endpoints via API Platform. Requires PHP 8.3+ and Bagisto 2.4.7. Quick Composer install plus an artisan command gets API docs, GraphiQL playgrounds, and storefront rate limiting running fast.
GET /api/shop/features and the storefrontFeature query — which optional features this channel has switched on, so a storefront can decide what to render before calling something that might refuse. Covers GDPR data requests and the EU right of withdrawal.GET /api/shop/returnable-orders and the returnableOrders query — the customer's orders a return can still be raised against, which is the list the New Request flow opens with. Filter by order number or status; sort by date, order number or total.options and locale, so content could not be published through it.options were omitted.channel it named./api/shop/theme-customizations[/{id}] and themeCustomization(s) become /api/shop/sections[/{id}] and section/sections, and translations carry sectionId. On an older store the previous endpoints stay exactly as they were — upgrading the store is what moves them./api/admin/settings/themes and adminSettingsTheme* become /api/admin/appearance/themes and /api/admin/appearance/sections, under appearance.* permissions, and bulk status becomes the staged status plus publish rather than mass-update-status. On an older store the Settings endpoints and their settings.themes.* permissions are unchanged.Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.4.3...v2.4.4
Add social login — sign in or sign up with a Google, Facebook or LinkedIn token the app or web already holds (no redirect), returning a Bearer token. POST /api/shop/customers/social-login and the createSocialLogin mutation.
Add a GraphQL operation map to the export (graphql-operations-shop.json / -admin.json) mapping each root field to its resource tag, so tooling can group GraphQL the way REST is grouped.
Add a re-seed tool that rebuilds the collections from the exported schemas.
Add View permissions for Integration and API Change History, so read access to those screens can be granted or withheld separately from creating, editing and deleting.
bagisto-api-platform:export-schema now writes to schema/generated/ instead of schema/, leaving the hand-maintained collections and environments untouched; --path is unchanged.Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.4.2...v2.4.3
POST /api/admin/marketing/search-terms (and createAdminMarketingSearchTerm) to create a search term.bagisto-api-platform:export-schema, which writes the REST (OpenAPI JSON) and GraphQL (SDL) schemas to files for Postman and code generators. Defaults to the package's schema/ folder; override with --path.Admin: Customer Order creation in the Swagger docs.Unauthenticated; a visitor can subscribe with the storefront key alone, as on the storefront.POST /api/shop/customer-profile-deletes/{id}) doing nothing over REST, and drop the password field the docs wrongly marked required.bagistoapi::app.graphql.product.not-found instead of "Product not found", on both transports.adminProfile returning roleId and roleName as null over GraphQL.sourceId as null over GraphQL.adminCatalogProduct's superAttributes { options } returning null, and its relatedProducts / upSells / crossSells returning storefront-shaped nodes.createAdminCatalogProduct / updateAdminCatalogProduct returning an unusable id and connections listing unrelated products.Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.4.1...v2.4.2
redirect and redirectUrl to the place-order response so clients can tell when the shopper must be sent to a payment page before the order exists.minPrice and maxPrice to the storefront category response so REST clients can bound a price-range filter, matching what GraphQL already exposed.xls and xlsx to every admin export endpoint (?format=), matching the formats the admin panel offers; exported values are now guarded against spreadsheet formula injection.CACHE_STORE (falling back to file), so no separate cache service or extra configuration is needed.php.ini and the staged-upload lifetime from the session lifetime, instead of package settings.items { edges }) failing with Field "items" of type "Iterable" must not have a sub selection on some production PHP-FPM servers.message; the confirmation message is now returned only on delete.paymentGatewayUrl coming back empty for redirect payment methods (Stripe, Razorpay, PayPal Standard, PhonePe), leaving clients with nowhere to send the shopper.Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.4.0...v2.4.1
4.3.x (api-platform/laravel and api-platform/graphql at ~4.3.8), which also resolves the api-platform/json-api security advisory.api-platform/laravel and api-platform/graphql — the other api-platform/* components are pulled in automatically, so the redundant per-component composer require list has been removed./api/shop/compare_items), so no client needs to update a URL.deleteWishlist, deleteCompareItem, deleteGdprRequest) returning only id instead of the deleted record's fields.createCheckoutOrder) returning an empty payload.customerReturn) returning a blank record instead of an error.filterableAttributes missing from the storefront category GraphQL type.POST /api/shop/reviews) failing with a server error.Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.3.1...v2.4.0
POST /api/shop/customizable-option-files).Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.3.0...v2.3.1
POST /api/admin/catalog/products/{id}/videos, REST multipart) and delete one (DELETE /api/admin/catalog/products/{id}/videos/{id} / deleteAdminCatalogProductVideo).filterableAttributes price range: maxPrice now reflects the authenticated customer's customer-group pricing, and minPrice now returns the actual lowest product price.Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.2.0...v2.3.0
customerId is now required.Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.1.0...v2.2.0
POST /api/admin/transactions + createAdminTransaction), allowing full or partial payments. Invoices are marked as paid and orders advance once the total amount is covered.null in GraphQL (REST was unaffected).Full Changelog: https://github.com/bagisto/bagisto-api/compare/v2.0.0...v2.1.0
Version 2.0.0 is a major release that introduces several breaking changes to the Admin API while keeping the Shop (storefront) API fully backward compatible.
adminReviews and adminReview endpoints have been removed. Use adminCustomerReviews and adminCustomerReview instead.bagisto-api-platform:optimize command for deployment optimization, delivering up to 5× faster API response times.Upgrade Note: Review Admin API integrations for response structure changes. Storefront integrations require no changes.
Full Changelog: https://github.com/bagisto/bagisto-api/compare/v1.0.5...v2.0.0
Full Changelog: https://github.com/bagisto/bagisto-api/compare/v1.0.4...v1.0.5
Full Changelog: https://github.com/bagisto/bagisto-api/compare/v1.0.3...v1.0.4
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).Full Changelog: https://github.com/bagisto/bagisto-api/compare/v1.0.1...v1.0.2
Full Changelog: https://github.com/bagisto/bagisto-api/compare/v1.0.0...v1.0.1
Storefront API Added
How can I help you explore Laravel packages today?