At a glance
- What you can do: give Semji’s agents controlled access to your Magento store’s CMS pages, CMS blocks, product content, and category content.
- Who it’s for: workspace owners and Magento administrators.
- Compatibility: Magento 2.4, Open Source and Adobe Commerce, self-hosted or on Adobe Commerce on cloud infrastructure (PaaS).
Prerequisites
- Magento 2.4.x, Open Source or Adobe Commerce, served over HTTPS with a certificate from a publicly-trusted authority, and reachable from the public internet. Private hostnames, self-signed certificates, and plain HTTP are rejected.
- A dedicated Integration created for Semji — never a personal admin user’s token.
- The Integration’s API permissions (Resource Access) granted as listed in API permissions for the Integration below.
- On Magento 2.4.4 and above: the setting “Allow OAuth Access Tokens to be used as standalone Bearer tokens” enabled. Without it, every request returns a 401 even with a valid token.
- If a firewall, WAF, or anti-bot protection (Fastly, Cloudflare, Akamai, …) sits in front of your store, it must allow Semji’s IP addresses on the REST API path — see Firewalls and IP allowlisting.
- You are a workspace owner in Semji, since the connection applies to the whole team.
- Availability of the Magento integration depends on your Semji plan. If the Connect button opens an upgrade dialog instead of the connection form, contact your account manager.
API permissions for the Integration
On the Integration’s API tab, with Resource Access set to Custom, tick the following checkboxes:How to connect your Magento store
Create a dedicated Integration in Magento
Grant the API permissions
Activate the Integration and copy the access token
On Magento 2.4.4+, allow the token as a standalone Bearer token
Connect from Semji
- Store URL: the canonical HTTPS base URL of your store, e.g.
https://your-store.com. Semji does not follow redirects, so use the exact URL your store resolves to — www versus non-www matters. - Integration access token: the Access Token you copied earlier.
Pick the Magento tools
- List store views: read the store views and their base URLs.
- Describe content model: inspect the writable fields of pages, blocks, products, and categories.
- List contents: browse and search CMS pages, blocks, products, and categories.
- Read contents: retrieve a page, block, product, or category and its content.
- Create & update content: create and update CMS pages and blocks, update product and category content.
- Delete content: delete CMS pages and blocks.
Activate
What Semji can do once connected
- Products and categories are never created or deleted — Semji only updates the content fields of entities that already exist.
- Product and category edits go live immediately (Magento has no draft state for them), so agents show the exact field-by-field change and wait for your explicit validation before writing.
- Page and block updates are lossless. Magento’s save endpoints replace the whole entity, so Semji reads the current entity, merges only the fields the agent changed, and writes the full payload back — anything the agent didn’t touch is preserved.
- Deletion is never exposed to publishing agents. Even with the Delete tool enabled, Semji’s CMS Publisher agent deliberately isn’t given access to it.
Magento Blog
If your store has blog functionality enabled, Semji detects it automatically and exposes a separate set of tools for blog content, alongside the CMS pages, blocks, product, and category tools above:- List blog posts and taxonomies: browse existing posts, categories, and tags.
- Read a blog post: retrieve its content.
- Create & update blog posts: write new posts as drafts, or update existing ones.
- Delete a blog post: only if you enable the Delete tool.
Manage or disconnect
From Settings → Integrations → CMS, the Magento row offers:- Manage tools: enable or disable each tool individually.
- Disconnect: remove the integration for the whole workspace.
Firewalls and IP allowlisting
Semji’s servers call your store’s REST Admin API directly. If your store sits behind Fastly, Cloudflare, or another WAF, it must let these calls through, or the connection fails. Semji’s servers reach the internet through a fixed set of outbound IP addresses. If a firewall, WAF, or anti-bot protection (Cloudflare, Akamai, Sucuri, …) sits in front of your site, it can block Semji’s requests — typically with a403 Forbidden — before they ever reach your CMS, even when your credentials are correct.
Allow the following Semji IP addresses:
/rest/*). On stores where the edge layer rate-limits or challenges API traffic, exempt Semji’s addresses from those rules as well.
Troubleshooting
Magento rejected the request. Check the integration access token, that the Integration's API permissions (Resource Access) are granted, and, on Magento 2.4.4+, that 'Allow OAuth Access Tokens to be used as standalone Bearer tokens' is enabled.
Magento rejected the request. Check the integration access token, that the Integration's API permissions (Resource Access) are granted, and, on Magento 2.4.4+, that 'Allow OAuth Access Tokens to be used as standalone Bearer tokens' is enabled.
- The token value is wrong. Re-copy the Access Token from the Integration (System → Extensions → Integrations). Note that re-creating or re-authorizing an Integration generates a new token.
- On Magento 2.4.4+, the Bearer setting is off. Enable “Allow OAuth Access Tokens to be used as standalone Bearer tokens” and flush the cache.
- The Integration lacks API permissions. Magento answers 401 with “The consumer isn’t authorized to access %resources”, naming the missing ACL resource. Grant every checkbox in API permissions for the Integration, save again, and retry.
The Magento REST API was not found at this URL.
The Magento REST API was not found at this URL.
GET /rest/all/V1/store/websites returned a 404. Frequent causes:- The store URL is wrong or points to a specific store-view path. Enter the bare base URL of the store.
- The URL redirects. Semji follows no redirects: if
https://example.comredirects tohttps://www.example.com, enter the www URL. - A reverse proxy in front of Magento strips or blocks the
/restpath.
Your store's security layer blocked our request.
Your store's security layer blocked our request.
/rest/* — see Firewalls and IP allowlisting.The store cannot be reached.
The store cannot be reached.
- DNS failure or host down.
- The store is too slow — responses must arrive within 10 seconds.
- The URL points to a private or reserved address — localhost and private-network hosts are rejected, the store must be publicly reachable.
An agent reports an authentication or permission error on one action
An agent reports an authentication or permission error on one action
A product or category update went live immediately
A product or category update went live immediately
Errors shown before you even submit the form
Errors shown before you even submit the form
- “Please enter a valid URL.” The value doesn’t parse as a URL.
- “The store URL must start with https://.” HTTP stores can’t be connected.
- “The store URL points to a private or reserved address, which is not allowed.” The store must be publicly reachable.