Skip to main content

Install the Magento extension

The Horizon Magento extension is byte8/module-horizon — a thin module that mounts an AI-friendly REST API on your Magento store. The hosted gateway calls into this REST surface; agents don't talk to your Magento directly.

Composer install​

From the Magento server:

composer require byte8/module-horizon
bin/magento setup:upgrade
bin/magento setup:di:compile # production mode only
bin/magento setup:static-content:deploy # production mode only
bin/magento cache:flush

If you're using Orbit for zero-downtime deploys, just bump composer.json and the next deploy handles setup:upgrade plus cache flushes automatically.

Composer registry​

byte8/module-horizon ships from the Byte8 Composer registry (Cargoman), not Packagist. If your composer.json doesn't already have the Byte8 repository configured, add:

{
"repositories": [
{
"type": "composer",
"url": "https://cargoman.io"
}
]
}

Authentication uses HTTP basic auth tokens issued on first Byte8 sign-up. Configure in auth.json:

composer config --global --auth http-basic.cargoman.io <username> <token>

If your CI runs Composer (and it should), drop the same credentials into the CI secrets — Orbit users can use a personal access token for this.

What gets installed​

After setup:upgrade:

  • Module Byte8_Horizon is registered.
  • The API route is mounted — i.e. https://your-store.example/horizon/api/v1/*.
  • A new table byte8_horizon_product_index is created, kept fresh by save observers (see Index freshness).
  • A CLI command bin/magento horizon:reindex for full index rebuilds.
  • An admin config section appears at Stores → Configuration → Byte8 → Horizon.

Verify the route is mounted​

The simplest smoke test — from anywhere with internet access:

curl -i https://your-store.example/horizon/api/v1/health

Before configuration you'll get a 503 with code DISABLED (module not enabled yet) or NOT_CONFIGURED (no API key saved) — that's correct: the endpoint exists, it just isn't configured. If you get a Magento 404 page, setup:upgrade didn't pick up the module — recheck the install.

Once Enabled is on and the API key is set in admin (next page), the same endpoint returns 200 with X-Horizon-Key: <key> — and 401 for a wrong key.

Updating the extension​

composer update byte8/module-horizon
bin/magento setup:upgrade
bin/magento cache:flush

The RELEASING.md in the module repo and the Horizon changelog list breaking changes per minor version. We don't ship breaking changes in patch releases.

Uninstalling​

composer remove byte8/module-horizon
bin/magento setup:upgrade
bin/magento cache:flush

This drops the byte8_horizon_product_index table and unmounts the route. Your data in the Horizon dashboard (store record, historic usage) is untouched — delete the store from the dashboard separately if you want it gone.

Next​