bagisto / bagisto-api
Bagisto API Platform package with GraphQL and REST API support
Requires
- api-platform/graphql: v4.2.3
- api-platform/laravel: v4.1.25
Requires (Dev)
- laravel/pint: 1.21.2
This package is auto-updated.
Last update: 2026-05-29 13:41:16 UTC
README
Comprehensive REST and GraphQL APIs for seamless e-commerce integration and extensibility.
Requirements
- PHP 8.3+
- Bagisto v2.3.8 (the version this package is tested against in CI)
- Composer 2
- MySQL 8.0+ or PostgreSQL 14+
api-platform/laravelv4.1.25andapi-platform/graphqlv4.2.3(installed automatically viacomposer require)
Installation
Method 1: Quick Start (Composer Installation – Recommended)
The fastest way to get started:
composer require bagisto/bagisto-api php artisan bagisto-api-platform:install
Your APIs are now ready! Access them at:
- API Landing:
https://your-domain.com/api - REST API Docs (Shop):
https://your-domain.com/api/shop/docs - REST API Docs (Admin):
https://your-domain.com/api/admin/docs - GraphQL Playground (Shop):
https://your-domain.com/api/graphiql - GraphQL Playground (Admin):
https://your-domain.com/api/admin/graphiql
Method 2: Manual Installation
Use this method if you need more control over the setup.
Step 1: Download and Extract
- Download the BagistoApi package from GitHub
- Extract it to:
packages/Webkul/BagistoApi/
Step 2: Register Service Provider
Edit bootstrap/providers.php:
<?php return [ // ...existing providers... Webkul\BagistoApi\Providers\BagistoApiServiceProvider::class, // ...rest of providers... ];
Step 3: Update Autoloading
Edit composer.json and update the autoload section:
{
"autoload": {
"psr-4": {
"Webkul\\BagistoApi\\": "packages/Webkul/BagistoApi/src"
}
}
}
Step 4: Install Dependencies
# Install required packages
composer require api-platform/laravel:v4.1.25
composer require api-platform/graphql:v4.2.3
Step 5: Run the installation
php artisan bagisto-api-platform:install
Step 6: Environment Setup (Update in the .env)
STOREFRONT_DEFAULT_RATE_LIMIT=100 STOREFRONT_CACHE_TTL=60 STOREFRONT_KEY_PREFIX=storefront_key_ STOREFRONT_PLAYGROUND_KEY=pk_storefront_xxxxxxxxxxxxxxxxxxxxxxxxxx API_PLAYGROUND_AUTO_INJECT_STOREFRONT_KEY=true
Access Points
Once verified, access the APIs at:
- API Landing: https://your-domain.com/api
- REST API (Shop): https://your-domain.com/api/shop/
- REST API (Admin): https://your-domain.com/api/admin/
- REST API Docs (Shop): https://your-domain.com/api/shop/docs
- REST API Docs (Admin): https://your-domain.com/api/admin/docs
- GraphQL Playground (Shop): https://your-domain.com/api/graphiql
- GraphQL Playground (Admin): https://your-domain.com/api/admin/graphiql
Admin API Authentication
Admin endpoints (/api/admin/* and /api/admin/graphql) require an integration-token Bearer header:
Authorization: Bearer id|generated-token
To generate a token:
- Log into the Bagisto admin panel.
- Enable the module first: navigate to Configuration → API → Integration → Module Settings and turn Enabled on. (Without this, the Integration menu stays hidden.)
- Navigate to Settings → Integration.
- Click Create, fill in the name / description / assigned admin / permission mode (
All,Custom, orSame as Web) / optional IP allowlist / rate limits / expiry, and save as a draft. - Click Generate. The plaintext token is shown once — copy it immediately. You won't be able to view it again; if lost, use Regenerate to issue a new one.
Each token is scoped to a single admin user and inherits that admin's role permissions — so tokens can never do more than their owner could in the admin UI. To issue tokens to multiple admins, create one token per admin (each admin can hold only one active token at a time).
Tokens can be revoked at any time from the same page or via the signed link in the lifecycle notification email sent to the token owner.
Documentation
- Bagisto API: Demo Page
- API Documentation: Bagisto API Docs
- GraphQL Playground (Shop): Interactive Playground
- GraphQL Playground (Admin): Interactive Playground
- Release history: see
CHANGELOG.md
Support
For issues and questions, please visit:
📝 License
The Bagisto API Platform is open-source software licensed under the MIT license.