> For the complete documentation index, see [llms.txt](https://docs.spurtcommerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spurtcommerce.com/introduction.md).

# Introduction

Welcome to the **SpurtCommerce Developer Documentation**.

SpurtCommerce is an open-source eCommerce platform for building and operating B2B and B2C online stores and multi-vendor marketplaces. It provides a foundation for managing products, customers, vendors, inventory, carts, orders, payments, shipping and other commerce workflows. The platform can be extended and customized to meet different business and marketplace requirements.

This documentation is a developer-oriented guide to understanding, configuring, integrating and extending SpurtCommerce.

**Platform :** SpurtCommerce B2C / marketplace backend\
**Primary stack referenced by the public repository:** Node.js, TypeScript, TypeORM, MySQL

### What is SpurtCommerce?

SpurtCommerce provides a commerce foundation for businesses that want to launch or customize an online store or marketplace. Depending on the solution and configuration, an implementation can support:

* **B2C commerce** — online shopping experiences for individual customers.
* **B2B commerce** — business purchasing and wholesale-oriented workflows.
* **Multi-vendor marketplaces** — vendor onboarding and management alongside shared marketplace operations.
* **Product and catalogue management** — products, categories, collections, attributes and inventory.
* **Order management** — cart, checkout and order-processing workflows.
* **Commerce operations** — payment, shipping, tax, currency, language and customer-management capabilities.
* **Customization and integration** — adapting the platform and connecting external services to business requirements.

The exact features available in a deployment depend on the version, enabled modules, configuration and installed extensions. Consult the source code and version-specific API documentation before relying on a feature or endpoint.

### Who is this documentation for?

This documentation is intended for:

* **Backend developers** implementing business logic, services, integrations and APIs.
* **Storefront developers** integrating customer-facing applications with Store APIs.
* **Vendor application developers** building vendor-facing workflows with Vendor APIs.
* **DevOps and deployment engineers** configuring environments, databases and production deployments.
* **Technical leads and solution architects** evaluating the platform structure and planning customizations.

### Documentation structure

#### Getting Started

Prepare your development environment and run the application. This section covers installation, payload or initial data setup, and trying the APIs.

#### Core concepts

Learn the main commerce domains and how they fit into the platform, including customer management, products, collections, inventory, categories, currency, cart, orders, payments, zones, languages, tax, permissions, authorization, shipping and mail service.

#### Developers

Explore implementation and extension topics such as database migrations, plugins, events, error handling, REST APIs, environment configuration, database structure, data imports, file uploading, translatable content and security.

#### Deployment

Follow the deployment guidance to prepare and operate a SpurtCommerce environment. Validate deployment instructions against the target release and your infrastructure.

#### References

Find supporting technical references, project resources and links to relevant source material.

### API documentation

The REST API documentation is organized by API audience and functional area.

* **Store APIs** support storefront and customer-facing commerce integrations.
* **Vendor APIs** support vendor-facing marketplace operations.

Each endpoint reference should identify the HTTP method and path and, where supported by the implementation, describe authentication requirements, permissions, parameters, request headers, request body, response structure and possible errors.

Use endpoint documentation together with the corresponding implementation in the repository. Do not assume that an endpoint, field, permission or response shown in documentation for an older release is available in the version you are using.

### How to read endpoint definitions

This package separates endpoint information into three evidence levels:

| Label                          | Meaning                                                                                            | How to use it                                                                                          |
| ------------------------------ | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Repository route inventory** | A route is present in the repository-oriented endpoint catalogue used during consolidation.        | Use the method/path as a discovery index; confirm full schema and permissions in the deployed release. |
| **Supplied-archive draft**     | The route appears in the submitted ZIP, but is not corroborated by the repository route inventory. | Treat it as a candidate until verified against the target release.                                     |
| **Not listed / not verified**  | The provided sources did not establish an endpoint for the concept.                                | Do not infer or invent a route; inspect runtime API docs and source.                                   |

### Technology and project resources

* **Official website:** <https://www.spurtcommerce.com/> — product overview, commerce use cases and platform capabilities.
* **Source repository:** <https://github.com/spurtcommerce/spurtcommerce> — source code, README, dependencies, setup instructions and implementation details.
* **Existing documentation portal:** <https://docs.spurtcommerce.com> — supplementary product and developer documentation.

#### Which source should I trust?

Use the following source order when information differs:

1. **Target release source code and configuration** — authoritative for implemented behaviour, available routes, validation, permissions and runtime requirements.
2. **README and release-specific documentation in the repository** — primary guidance for installation, prerequisites and supported setup procedures.
3. **This GitBook documentation** — organized developer guidance for the release it describes; verify implementation-specific details against the repository.
4. **Existing documentation portal and marketing website** — useful for background, product terminology and feature context, but not proof that a particular API or implementation detail exists in the target release.

The existing documentation portal identifies its content as SpurtCommerce v5 documentation. Some concepts and workflows may still be useful, but older instructions and API references must be checked before applying them to a newer release.

### Version and compatibility

Documentation and API behaviour can change between releases. Before implementing an integration:

1. Confirm the SpurtCommerce release or branch being used.
2. Check the repository README and environment example for the required runtime and configuration.
3. Confirm that the API route exists in that release.
4. Verify request validation, authentication and authorization in the implementation.
5. Test the request and response against a running instance of the same release.

Examples in this documentation should be treated as illustrative unless explicitly identified as verified against the target release.

### Contributing and getting help

When reporting an issue or proposing a documentation correction, include the SpurtCommerce version or Git branch, the affected documentation page, the relevant API method and path (if applicable), and a concise reproduction or source-code reference.

For project updates and support, refer to the official [SpurtCommerce website](https://www.spurtcommerce.com/) and [GitHub repository](https://github.com/spurtcommerce/spurtcommerce).

***

**Documentation note:** This GitBook is intended to describe the selected SpurtCommerce release. Keep version-specific examples, API contracts and setup instructions aligned with that release rather than copying older documentation without verification.
