fr3on / magento2-lapis
Automatic LAPIS lifecycle declarations for Magento 2 REST APIs
0.0.1
2026-04-14 22:24 UTC
Requires
- php: >=8.1
- magento/framework: >=102.0.0
- magento/module-backend: >=101.0.0
- magento/module-quote: >=101.0.0
- magento/module-sales: >=101.0.0
- symfony/yaml: ^5.4 || ^6.0 || ^7.0
Requires (Dev)
- justinrainbow/json-schema: ^5.0
- phpmd/phpmd: ^2.13
- phpunit/phpunit: ^10.0
README
Automatic LAPIS (Lifecycle & Protocol Intent Specification) declarations for Magento 2 REST APIs.
Mission
This composer package automatically generates LAPIS declarations from a live Magento 2 installation. It introspects what Magento already knows—Order statuses, Transitions, State-to-Status mappings—and surfaces it in a form every system can consume.
Read-only. This module never writes to Magento's own tables. It only reads.
Installation
composer require fr3on/magento2-lapis bin/magento module:enable Fr3on_Lapis bin/magento setup:upgrade
Features
- RLD Generator: Produces valid YAML/JSON for Order, Invoice, Credit Memo, Shipment, and Cart.
- REST Response Headers: Every API response includes
X-LAPIS-StateandX-LAPIS-Transitions. - Admin Visualizer: Interactive state machine graphs at
System > LAPIS. - CLI Tools: Generate and validate declarations from the terminal.
Usage
CLI Commands
bin/magento lapis:generate # Generates YAML files in var/lapis/ bin/magento lapis:validate # Validates generated files against schema
Extending via lapis.xml
You can declare custom transitions or override heuristics by creating a lapis.xml in your module's etc directory:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <resource id="order"> <transition from="processing" to="custom_state" via="myCustomMethod()" actor="admin"/> </resource> </config>
Dashboard
Navigate to System > LAPIS in the Magento Admin to see the live state machine of your store.
License
MIT