Fourthwall MCP Server & CLI
A free, open source Fourthwall CLI and local MCP with shared approval controls, isolated shop profiles, reviewed batches, bounded exports and private uploads.
This free Fourthwall MCP server and CLI gives you selected shop operations with the same private profiles and approval policy on both surfaces. It includes 86 tasks: 49 reads and 37 effects that ask for approval.
Fourthwall already offers a broad official hosted OAuth MCP. This guide explains when this local companion helps, how to configure it and how its actual workflows behave.
What you can ask it
Ask for a bounded shop task, then review any change before execution:
- List the first 25 products in the intended shop and report their state and availability separately.
- Read this order and check the native fulfillment contract before preparing a tracking update.
- Review these exact product availability changes, then execute only the batch I approve.
- Export up to ten pages of order metadata into a new private file and report continuation.
- Prepare a hidden digital product from this reviewed native payload. Do not publish it implicitly.
- Upload this local image from a private receipt, then show the separate registration step.
These prompts name implemented operations. The terminal animation illustrates a reviewed workflow, rather than an authenticated shop recording.
Set up your account
A Fourthwall SUPER ADMIN can create shop API credentials in Settings > For Developers. Follow Fourthwall authentication. Shop Basic credentials grant full shop access; never describe them as a read-only key.
Choose exactly one private source: FOURTHWALL_USERNAME and FOURTHWALL_PASSWORD, an existing FOURTHWALL_ACCESS_TOKEN, or FOURTHWALL_CREDENTIALS_FILE. OAuth permission comes from the provider. This package does not implement consent, exchange or refresh.
{"username":"YOUR_PRIVATE_SHOP_API_USERNAME","password":"YOUR_PRIVATE_SHOP_API_PASSWORD"}Alternatively store only an already-issued access_token in that file. Replace placeholders only privately, restrict the file and parent directory, and adapt paths for the actual OS/runtime.
The credential file is a JSON object containing either username/password or access_token. It must be an absolute regular non-symlink file, at most 64 KiB, outside repositories. On POSIX the process user must own it and permissions must be owner-only, normally 0600; restrict Windows ACLs separately. Never paste credentials into chat, command transcripts, issues, payloads or project configuration.
fourthwall-cli login
fourthwall-cli list-accounts --agent
fourthwall-cli doctor
fourthwall-cli doctor --networkLogin prints instructions. Doctor checks local profiles and policy; the deliberate network option reads the current shop and validates its id. One successful read does not prove every permission, every task or resource ownership. File credentials are cached for the process: restart clients after rotating or revoking them.
Install
Install Node 22+ in the runtime that launches the server. Use the complete INSTALL.md for Codex, Claude Code, Claude Desktop, Cursor, VS Code/Copilot, Windsurf, Zed, Gemini CLI, Docker and all three desktop OSes.
npm install -g @thenavidm/fourthwall-mcp-cli@latest
fourthwall-cli --version
fourthwall-cli tools
fourthwall-cli schema list-productsAfter configuring credentials privately, register the local server in Codex:
codex mcp add fourthwall -- npx -y @thenavidm/fourthwall-mcp-cli@latest
codex mcp listThe MCP executable speaks stdio; it is not a hosted URL. The desktop extension is fourthwall-2.0.0.mcpb. Manual installation and updates use the host's supported extension screen. Choose one auth source, leave unused inputs empty and reconnect. GUI installation and authenticated provider tasks require their own validation.
More local client setup
OpenCode
Merge this into your private user config, following OpenCode's MCP docs. Reconnect and inspect the server status.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"fourthwall": {
"type": "local",
"command": ["npx", "-y", "@thenavidm/fourthwall-mcp-cli@latest"],
"enabled": true,
"environment": {"FOURTHWALL_CREDENTIALS_FILE": "/absolute/private/fourthwall.json"}
}
}
}Copilot CLI
After private runtime setup, use Copilot CLI's documented registration:
copilot mcp add fourthwall --env FOURTHWALL_CREDENTIALS_FILE=/absolute/private/fourthwall.json -- npx -y @thenavidm/fourthwall-mcp-cli@latest
copilot mcp get fourthwallRegistration stores the private file path in user configuration; do not put actual credentials in the command or repository.
OpenClaw
Use the saved-server registry in an eligible runtime, following OpenClaw's MCP reference:
openclaw mcp add fourthwall --command npx --arg -y --arg @thenavidm/fourthwall-mcp-cli@latest --env FOURTHWALL_CREDENTIALS_FILE=/absolute/private/fourthwall.json
openclaw mcp doctor fourthwall --probeConfigure paths in the process where the server actually runs. Runtime projection and trust policy remain client-specific; a saved entry is not proof of a successful provider call.
Antigravity
Follow Google's current custom-server instructions: open MCP Servers, Manage MCP Servers, then View raw config. Merge the Claude Desktop manual mcpServers block above. Current global config is ~/.gemini/config/mcp_config.json; project .agents/mcp_config.json must never contain secrets. The local stdio command/args/env form applies. Reconnect and inspect tools.
Hermes
Merge this into your private ~/.hermes/config.yaml, following Hermes MCP configuration:
mcp_servers:
fourthwall:
command: "npx"
args: ["-y", "@thenavidm/fourthwall-mcp-cli@latest"]
env:
FOURTHWALL_CREDENTIALS_FILE: "/absolute/private/fourthwall.json"Restart the agent and inspect available tools. An agent shell can also use fourthwall-cli directly with the shipped SKILL.md; installing npm does not automatically register the skill.
Output and exit codes
Both binaries use the same schemas, handlers, validation and confirmation guard. --json prints JSON, --compact prints a single line, and --agent gives compact output for an agent. --select projects requested output fields. Errors go to stderr. --yes suppresses interactive presentation; it never replaces --confirm.
| Exit | Meaning |
|---|---|
| 0 | Successful command |
| 2 | Usage, invalid arguments or refused effect |
| 3 | Not found |
| 4 | Provider authentication/permission failure |
| 5 | Other API/network failure |
| 7 | Provider quota/rate limit |
| 10 | Missing/invalid local configuration |
fourthwall-cli list-products --page 0 --size 25 --agent
fourthwall-cli get-shop --account intended-shop --json
fourthwall-cli schema create-promotionTool path/query snake_case arguments become dash flags. Native body fields retain their exact camelCase flags, such as --fileName and --contentType; inspect --help instead of guessing a spelling. Objects and arrays use JSON. Use a private --payload-file for larger native bodies. Do not mix payload, payload-file and flat body fields.
Which surface and what each costs
Use CLI for scripts, shell agents and selected tasks. Use MCP where your app discovers tools and calls them directly. Both surfaces reach the same 86 tasks and enforce the same approval policy.
| Surface | Context and task considerations |
|---|---|
| CLI | Command help and results enter context on demand; agent shell access is needed |
| MCP | Tool schemas may be loaded or deferred depending on the client; result content still costs context |
| Read-only MCP | Exposes 49 reads and excludes 37 effects locally |
| Official hosted MCP | Broad OAuth tooling with its own schemas, previews and confirmation flow |
No matched completed Codex task/token measurement has been collected for this integration. Counts, schema characters, discovery costs and another integration's benchmark are not task savings. A fair comparison must record equivalent inputs, current client/model, permissions, successful native outcomes, errors/retries and total tokens. Software is free under AGPL-3.0; provider fees and plans remain separate.
Tools
49 reads and 37 confirmed effects. All 86 tasks follow below; nested native JSON fields come from the selected reviewed schema.
get_webhook
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Get a webhook
CLI: fourthwall-cli get-webhook. Policy: read.
Native: GET /open-api/v1.0/webhooks/{webhookConfigurationId}. Current source.
webhook_configuration_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native webhookConfigurationId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
update_webhook
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Update a webhook
CLI: fourthwall-cli update-webhook. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/webhooks/{webhookConfigurationId}. Current source.
webhook_configuration_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native webhookConfigurationId
url- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
allowedTypes- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Native field
delete_webhook
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Delete a webhook
CLI: fourthwall-cli delete-webhook. Policy: explicit confirmation.
Native: DELETE /open-api/v1.0/webhooks/{webhookConfigurationId}. Current source.
webhook_configuration_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native webhookConfigurationId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
start_streaming
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Sets streaming status to started for specified services
CLI: fourthwall-cli start-streaming. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/streaming/start. Current source.
services- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
end_streaming
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Sets streaming status to ended for specified services
CLI: fourthwall-cli end-streaming. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/streaming/end. Current source.
services- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Native field
get_public_token
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns an existing public token for the shop, or creates a new one if none exists
CLI: fourthwall-cli get-public-token. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/public-token. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
output_file- Type or constraint
- string (minLength=1)
- Requirement
- Required
- Meaning
- Absolute NEW owner-private receipt file; exclusive0600 creation, no overwrite. Upload/public-token URLs never enter ordinary output.
get_promotion
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns a promotion by id
CLI: fourthwall-cli get-promotion. Policy: read.
Native: GET /open-api/v1.0/promotions/{promotionId}. Current source.
promotion_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native promotionId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
update_promotion
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Updates an existing promotion's configuration. Only provided fields are updated; omitted fields remain unchanged. Status changes (activate/deactivate) are part of the same update call.
CLI: fourthwall-cli update-promotion. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/promotions/{promotionId}. Current source.
promotion_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native promotionId
limits- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
requirements- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
appliesTo- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
status- Type or constraint
- LIVE, ENDED
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- integer (format=int32)
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- number (minimum=0)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- LIVE, ENDED
- Requirement
- Optional
- Meaning
- Native field
update_product_state
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Transitions the product between PUBLIC and HIDDEN. Use DELETE /products/{productId} to archive — ARCHIVED is not reachable here. The sold-out (available) flag is preserved; flip it via PUT /products/{productId}/availability. Idempotent: no-op if the product is already in the requested state.
CLI: fourthwall-cli update-product-state. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/products/{productId}/state. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
state- Type or constraint
- PUBLIC, HIDDEN
- Requirement
- Optional
- Meaning
- Target lifecycle state.
PUBLICmakes the product visible on the storefront;HIDDENkeeps it unlisted. The sold-out (available) flag is preserved across the transition — usePUT /products/{productId}/availabilityto flip it.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- PUBLIC, HIDDEN
- Requirement
- Required
- Meaning
- Target lifecycle state.
PUBLICmakes the product visible on the storefront;HIDDENkeeps it unlisted. The sold-out (available) flag is preserved across the transition — usePUT /products/{productId}/availabilityto flip it.
toggle_product_availability
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Updates a product (offer) availability
CLI: fourthwall-cli toggle-product-availability. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/products/{productId}/availability. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
available- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- boolean
- Requirement
- Required
- Meaning
- Native field
mark_download_complete
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Marks digital download as downloaded. If no downloads exist for a digital order and defaultFileUrl is provided in the request body, creates a download with that URL and marks it as downloaded.
CLI: fourthwall-cli mark-download-complete. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/order/{orderId}/downloaded. Current source.
order_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native orderId
defaultFileUrl- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
finish_giveaway
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Finish giveaway and select winners
CLI: fourthwall-cli finish-giveaway. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/giveaways/giveaways/{id}/finish/twitch. Current source.
id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native id
participants- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
create_giveaway_checkout
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Creates a new giveaway or updates existing one
CLI: fourthwall-cli create-giveaway-checkout. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/giveaways/giveaway-checkout. Current source.
heading- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
description- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
iconUrl- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
buttonText- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
disabled- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
disable_giveaway_checkout
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
disables a giveaway config
CLI: fourthwall-cli disable-giveaway-checkout. Policy: explicit confirmation.
Native: DELETE /open-api/v1.0/giveaways/giveaway-checkout. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
finish_giveaway_draw
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Finish draw and select winners
CLI: fourthwall-cli finish-giveaway-draw. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/gifting/draw/{id}/finish. Current source.
id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native id
participants- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
get_gifting_config
Returns the calling shop's saved gifting rules. Returns a default-shaped config when none is persisted yet.
CLI: fourthwall-cli get-gifting-config. Policy: read.
Native: GET /open-api/v1.0/gifting/config. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
update_gifting_config
Writes the four creator-controlled gifting rule fields. Validation (duration 20-180s, valid shipping/products) and the one-platform-per-shop mutex are enforced server-side. Upserts: a first-ever PUT materializes the config row.
CLI: fourthwall-cli update-gifting-config. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/gifting/config. Current source.
enabled- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Master flag. Off pauses purchasability without losing the rest.
entryTimeLimitSeconds- Type or constraint
- integer (format=int32)
- Requirement
- Optional
- Meaning
- Entry time limit in seconds. Validated 20-180.
shipping- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
products- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- boolean
- Requirement
- Required
- Meaning
- Master flag. Off pauses purchasability without losing the rest.
- Type or constraint
- integer (format=int32)
- Requirement
- Required
- Meaning
- Entry time limit in seconds. Validated 20-180.
- Type or constraint
- union
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ALL_CREATOR
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ALL_WINNER
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- number (format=double)
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- MAX_CREATOR
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ALL
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- EXCLUDED
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- SELECTED
- Requirement
- Optional
- Meaning
- Native field
update_collection
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Updates collection name, description, and/or product list
CLI: fourthwall-cli update-collection. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/collections/{collectionId}. Current source.
collection_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native collectionId
name- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
description- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
offerIds- Type or constraint
- array
- Requirement
- Optional
- Meaning
- List of product IDs to set in the collection
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- List of product IDs to set in the collection
get_collection_products
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns paginated products in a collection with optional status filtering. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli get-collection-products. Policy: read.
Native: GET /open-api/v1.0/collections/{collectionId}/products. Current source.
collection_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native collectionId
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=20)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
status- Type or constraint
- PUBLIC, AVAILABLE, SOLD_OUT, HIDDEN, ARCHIVED
- Requirement
- Optional
- Meaning
- Filter by product status
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
update_collection_products
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Sets the full list of product IDs in the collection
CLI: fourthwall-cli update-collection-products. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/collections/{collectionId}/products. Current source.
collection_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native collectionId
offerIds- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Full list of product IDs to set in the collection
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Full list of product IDs to set in the collection
update_collection_availability
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Toggle collection availability (available/unavailable)
CLI: fourthwall-cli update-collection-availability. Policy: explicit confirmation.
Native: PUT /open-api/v1.0/collections/{collectionId}/availability. Current source.
collection_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native collectionId
available- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- boolean
- Requirement
- Required
- Meaning
- Native field
list_webhooks
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Get webhooks
CLI: fourthwall-cli list-webhooks. Policy: read.
Native: GET /open-api/v1.0/webhooks. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
create_webhook
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Create a webhook
CLI: fourthwall-cli create-webhook. Policy: explicit confirmation.
Native: POST /open-api/v1.0/webhooks. Current source.
url- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
allowedTypes- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Native field
list_promotions
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns all promotions. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-promotions. Policy: read.
Native: GET /open-api/v1.0/promotions. Current source.
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=20)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
codes- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Filter by promotion code(s)
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
create_promotion
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Creates a promotion
CLI: fourthwall-cli create-promotion. Policy: explicit confirmation.
Native: POST /open-api/v1.0/promotions. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- number
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- PERCENTAGE
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ALL
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ANNUAL
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- MONTHLY
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ALL
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- SELECTED
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- MEMBERSHIPS_MULTI
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- number
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- PERCENTAGE
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ALL
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ANNUAL
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- MONTHLY
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- ALL
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- SELECTED
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- MEMBERSHIPS_SINGLE
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- number (minimum=0)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- FLAT_RATE
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- FREE_SHIPPING
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- number
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- Excluded, Included, FreeLowestOnly, Free
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- PERCENTAGE
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- number (minimum=0)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- integer (format=int32)
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- SHOP_MULTI
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- union
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- number (minimum=0)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- FLAT_RATE
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- FREE_SHIPPING
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- number
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- Excluded, Included, FreeLowestOnly, Free
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- PERCENTAGE
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- number (minimum=0)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- integer (format=int32)
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- boolean
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- SHOP_SINGLE
- Requirement
- Optional
- Meaning
- Native field
list_products
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns all products with pagination. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-products. Policy: read.
Native: GET /open-api/v1.0/products. Current source.
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=20)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
search- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native search
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
create_product
Rate limit: 5 requests / minute per shop. See [Rate limiting](/guides/rate-limiting).
Creates a product from a design or a digital product.
CLI: fourthwall-cli create-product. Policy: explicit confirmation.
Native: POST /open-api/v1.0/products. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Id of the product template to render the design onto, from
GET /open-api/v1.0/product-templates.
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Design regions to place on the product. Each region references a registered media image by id (register it via
POST /open-api/v1.0/media/imagesand pass the returned id asimageId).
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Name of the product region to place the image on, e.g.
frontorback.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Id of a registered media-library image to render on the region. Register the image first via
POST /open-api/v1.0/media/imagesand pass the returned id here.
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Placement to target when
placementStrategyisPLACEMENT_ID. Required for that strategy and ignored by the others.
- Type or constraint
- AUTO, FILL_ALL, FULL_REGION, PLACEMENT_ID
- Requirement
- Optional
- Meaning
- How the image is placed on the region. Defaults to
AUTOwhen omitted, and takes precedence overplacementId/fillAllPlacements. -AUTO— let the renderer decide using the product's automation defaults (its preferred placement, or fill-all for products like mugs/stickers). -FILL_ALL— apply the image to every placement in the region. -FULL_REGION— render the image across the full region, skipping the preferred placement. -PLACEMENT_ID— target the single placement named byplacementId(required for this strategy).
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Colors to render. Defaults to all available product colors when omitted. Values not offered by the product are ignored; the request is rejected with 400 if none of the supplied colors are available.
- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Sizes to include. Defaults to all available product sizes when omitted. Values not offered by the product are ignored; the request is rejected with 400 if none of the supplied sizes are available. When both colors and sizes are supplied, the request is also rejected with 400 if no requested color/size combination is an available variant.
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Product name
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Product description
- Type or constraint
- number
- Requirement
- Optional
- Meaning
- Profit margin in USD applied on top of the base cost.
- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Publish the product immediately on creation. Defaults to false (product stays hidden).
- Type or constraint
- design
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- value
- Requirement
- Choose one
- Meaning
- Native oneOf
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Product name
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Product description
- Type or constraint
- number
- Requirement
- Optional
- Meaning
- Price set by the creator, in USD.
- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Publish the product immediately on creation. Defaults to false (product stays hidden).
- Type or constraint
- digital
- Requirement
- Optional
- Meaning
- Native field
attach_product_images
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Attaches images to a product. Images should be uploaded first via the media upload endpoint.
CLI: fourthwall-cli attach-product-images. Policy: explicit confirmation.
Native: POST /open-api/v1.0/products/{productId}/images. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
images- Type or constraint
- array
- Requirement
- Optional
- Meaning
- List of images to attach
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- array
- Requirement
- Required
- Meaning
- List of images to attach
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Image URL
- Type or constraint
- integer (format=int32)
- Requirement
- Required
- Meaning
- Image width in pixels
- Type or constraint
- integer (format=int32)
- Requirement
- Required
- Meaning
- Image height in pixels
remove_product_images
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Removes specified images from a product by their URLs.
CLI: fourthwall-cli remove-product-images. Policy: explicit confirmation.
Native: DELETE /open-api/v1.0/products/{productId}/images. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
imageUrls- Type or constraint
- array
- Requirement
- Optional
- Meaning
- List of image URLs to remove
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- array
- Requirement
- Required
- Meaning
- List of image URLs to remove
confirm_digital_file_upload
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
After uploading a file to the presigned URL, call this endpoint to link the file to the product. The file must exist in storage before calling this endpoint.
CLI: fourthwall-cli confirm-digital-file-upload. Policy: explicit confirmation.
Native: POST /open-api/v1.0/products/{productId}/digital-files. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
fileUrl- Type or constraint
- string
- Requirement
- Optional
- Meaning
- The file URL returned from the upload-url endpoint
fileName- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Display name for the file
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- The file URL returned from the upload-url endpoint
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Display name for the file
remove_digital_file
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Removes a digital file from the product by its file URL.
CLI: fourthwall-cli remove-digital-file. Policy: explicit confirmation.
Native: DELETE /open-api/v1.0/products/{productId}/digital-files. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
fileUrl- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
request_digital_file_upload_url
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns a presigned URL to upload a digital file to. After receiving the response, PUT the file bytes directly to the uploadUrl, then call the confirm endpoint to link the file to the product.
CLI: fourthwall-cli request-digital-file-upload-url. Policy: explicit confirmation.
Native: POST /open-api/v1.0/products/{productId}/digital-files/upload-url. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
fileName- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Name of the file
contentType- Type or constraint
- string
- Requirement
- Optional
- Meaning
- MIME type of the file
size- Type or constraint
- integer (format=int64)
- Requirement
- Optional
- Meaning
- Size of the file in bytes. Must match the
x-goog-content-length-rangeheader sent when uploading the bytes touploadUrl.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
output_file- Type or constraint
- string (minLength=1)
- Requirement
- Required
- Meaning
- Absolute NEW owner-private receipt file; exclusive0600 creation, no overwrite. Upload/public-token URLs never enter ordinary output.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Name of the file
- Type or constraint
- string
- Requirement
- Required
- Meaning
- MIME type of the file
- Type or constraint
- integer (format=int64)
- Requirement
- Required
- Meaning
- Size of the file in bytes. Must match the
x-goog-content-length-rangeheader sent when uploading the bytes touploadUrl.
request_media_upload_url
Rate limit: 20 requests / minute per shop. See [Rate limiting](/guides/rate-limiting).
Returns a pre-signed upload URL for uploading a new image. After receiving the response, PUT the image bytes directly to the uploadUrl.
CLI: fourthwall-cli request-media-upload-url. Policy: explicit confirmation.
Native: POST /open-api/v1.0/media/upload-url. Current source.
fileName- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Name of the file
contentType- Type or constraint
- string
- Requirement
- Optional
- Meaning
- MIME type of the file
size- Type or constraint
- integer (format=int64)
- Requirement
- Optional
- Meaning
- Size of the file in bytes. Must match the
x-goog-content-length-rangeheader sent when uploading the bytes touploadUrl.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
output_file- Type or constraint
- string (minLength=1)
- Requirement
- Required
- Meaning
- Absolute NEW owner-private receipt file; exclusive0600 creation, no overwrite. Upload/public-token URLs never enter ordinary output.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Name of the file
- Type or constraint
- string
- Requirement
- Required
- Meaning
- MIME type of the file
- Type or constraint
- integer (format=int64)
- Requirement
- Required
- Meaning
- Size of the file in bytes. Must match the
x-goog-content-length-rangeheader sent when uploading the bytes touploadUrl.
list_media_images
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Retrieves all images from the shop's media library
CLI: fourthwall-cli list-media-images. Policy: read.
Native: GET /open-api/v1.0/media/images. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
save_media_image
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Persists an uploaded image in the media library after the client has PUT it to the signed URL
CLI: fourthwall-cli save-media-image. Policy: explicit confirmation.
Native: POST /open-api/v1.0/media/images. Current source.
fileUrl- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
width- Type or constraint
- integer (format=int32)
- Requirement
- Optional
- Meaning
- Native field
height- Type or constraint
- integer (format=int32)
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- integer (format=int32)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- integer (format=int32)
- Requirement
- Required
- Meaning
- Native field
create_giveaway
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Creates a new giveaway
CLI: fourthwall-cli create-giveaway. Policy: explicit confirmation.
Native: POST /open-api/v1.0/giveaways/giveaways. Current source.
offerId- Type or constraint
- string (format=uuid)
- Requirement
- Optional
- Meaning
- Native field
quantity- Type or constraint
- integer (format=int32)
- Requirement
- Optional
- Meaning
- Native field
username- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
message- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string (format=uuid)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- integer (format=int32)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
create_giveaway_links
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Creates a new package with specified number of giveaway links
CLI: fourthwall-cli create-giveaway-links. Policy: explicit confirmation.
Native: POST /open-api/v1.0/giveaway-links. Current source.
productId- Type or constraint
- string (format=uuid)
- Requirement
- Optional
- Meaning
- Native field
number- Type or constraint
- integer (format=int32)
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string (format=uuid)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- integer (format=int32)
- Requirement
- Required
- Meaning
- Native field
create_gifting_checkout
Creates a paid checkout for gifting a product to live chat
CLI: fourthwall-cli create-gifting-checkout. Policy: explicit confirmation.
Native: POST /open-api/v1.0/gifting/checkout. Current source.
offerId- Type or constraint
- string
- Requirement
- Optional
- Meaning
- The product offer to gift to live chat.
quantity- Type or constraint
- integer (minimum=1, maximum=10000, format=int32)
- Requirement
- Optional
- Meaning
- How many gifts to purchase.
currency- Type or constraint
- USD, EUR, CAD, GBP, AUD, NZD, SEK, NOK, DKK, PLN, INR, JPY, MYR, SGD, MXN, BRL, CHF
- Requirement
- Optional
- Meaning
- Display currency for the checkout. Defaults to the shop's currency.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- The product offer to gift to live chat.
- Type or constraint
- integer (minimum=1, maximum=10000, format=int32)
- Requirement
- Required
- Meaning
- How many gifts to purchase.
- Type or constraint
- USD, EUR, CAD, GBP, AUD, NZD, SEK, NOK, DKK, PLN, INR, JPY, MYR, SGD, MXN, BRL, CHF
- Requirement
- Optional
- Meaning
- Display currency for the checkout. Defaults to the shop's currency.
create_fulfillment
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Creates a fulfillment with a shipment tracker for provided order items. When trackers change their state, order.status will change to IN_PRODUCTION, PARTIALLY_IN_PRODUCTION, PARTIALLY_SHIPPED, SHIPPED depending on the shipping tracker info. Order updated webhooks will be triggered.
CLI: fourthwall-cli create-fulfillment. Policy: explicit confirmation.
Native: POST /open-api/v1.0/fulfillments. Current source.
orderId- Type or constraint
- string (format=uuid)
- Requirement
- Optional
- Meaning
- Native field
items- Type or constraint
- array (minItems=1)
- Requirement
- Optional
- Meaning
- Native field
shippingLabel- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Native field
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string (format=uuid)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array (minItems=1)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string (format=uuid)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- integer (minimum=1, format=int32)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- object
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string (minLength=1)
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string (minLength=1)
- Requirement
- Required
- Meaning
- Native field
validate_dns
Rate limit: 20 requests / minute per shop. See [Rate limiting](/guides/rate-limiting).
Triggers a live DNS validation by checking all configured records against actual DNS servers and updates their verification status
CLI: fourthwall-cli validate-dns. Policy: explicit confirmation.
Native: POST /open-api/v1.0/dns/validate. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
list_collections
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns all collections with pagination. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-collections. Policy: read.
Native: GET /open-api/v1.0/collections. Current source.
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=20)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
search- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native search
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
create_collection
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Creates a new collection with name, description, and optional product list
CLI: fourthwall-cli create-collection. Policy: explicit confirmation.
Native: POST /open-api/v1.0/collections. Current source.
name- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
description- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native field
offerIds- Type or constraint
- array
- Requirement
- Optional
- Meaning
- List of product IDs to include in the collection
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
payload- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Complete current native JSON body; cannot mix with native body flags or payload_file.
payload_file- Type or constraint
- string (minLength=1)
- Requirement
- Optional
- Meaning
- Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags.
Native body fields below must also satisfy their required fields/oneOf branch. Supply native flat fields, payload OR payload_file. The entire machine-readable schema is available through the CLI and get_operation_schema.
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
- Type or constraint
- array
- Requirement
- Required
- Meaning
- List of product IDs to include in the collection
list_webhook_events
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Get webhook events with pagination and optional filtering by one or more webhook types (repeat or comma-separate the type param). The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-webhook-events. Policy: read.
Native: GET /open-api/v1.0/webhook-events. Current source.
type- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native type
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=50)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_webhook_event
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Get a single webhook event by ID
CLI: fourthwall-cli get-webhook-event. Policy: read.
Native: GET /open-api/v1.0/webhook-events/{webhookEventId}. Current source.
webhook_event_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native webhookEventId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_thank_you
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Get Thank You details
CLI: fourthwall-cli get-thank-you. Policy: read.
Native: GET /open-api/v1.0/thank-yous/{thankYouId}. Current source.
thank_you_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native thankYouId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_contributions
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns paginated list of orders, donations, and other contributions that can be thanked. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-contributions. Policy: read.
Native: GET /open-api/v1.0/thank-you-contributions. Current source.
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=50)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
state- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native state
search- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native search
min_value- Type or constraint
- number (format=double)
- Requirement
- Optional
- Meaning
- Native minValue
contains_msg- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Native containsMsg
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_streaming_status
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns streaming status for all services
CLI: fourthwall-cli get-streaming-status. Policy: read.
Native: GET /open-api/v1.0/streaming. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_shop
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns the current shop
CLI: fourthwall-cli get-shop. Policy: read.
Native: GET /open-api/v1.0/shops/current. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_shop_contact
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns the current shop contact info
CLI: fourthwall-cli get-shop-contact. Policy: read.
Native: GET /open-api/v1.0/shops/current/contact-info. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_sample_balance
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns the current sample credit balance for the shop
CLI: fourthwall-cli get-sample-balance. Policy: read.
Native: GET /open-api/v1.0/samples/balance. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_reports
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns the list of available report IDs with metadata including name, columns, and supported precisions
CLI: fourthwall-cli list-reports. Policy: read.
Native: GET /open-api/v1.0/reports. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_report
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Fetches a specific analytics report for a date range
CLI: fourthwall-cli get-report. Policy: read.
Native: GET /open-api/v1.0/reports/{reportId}. Current source.
report_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native reportId
from- Type or constraint
- string (format=date-time)
- Requirement
- Required
- Meaning
- Native from
to- Type or constraint
- string (format=date-time)
- Requirement
- Required
- Meaning
- Native to
aggregation_timezone- Type or constraint
- string
- Requirement
- Required
- Meaning
- Timezone in ISO-8601 format (e.g., Europe/Warsaw for Warsaw)
aggregation_precision- Type or constraint
- hour, day, week, month, quarter, year
- Requirement
- Required
- Meaning
- Native aggregationPrecision
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_product
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns product by id
CLI: fourthwall-cli get-product. Policy: read.
Native: GET /open-api/v1.0/products/{productId}. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
archive_product
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Soft-archives the product — sets it to Archived. Terminal at this surface: once archived, the product cannot be returned to PUBLIC/HIDDEN through the open-api (restoration stays admin-only). Idempotent: re-DELETE on an already-archived product also returns 204.
CLI: fourthwall-cli archive-product. Policy: explicit confirmation.
Native: DELETE /open-api/v1.0/products/{productId}. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
get_product_inventory
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns product (offer) inventory by id
CLI: fourthwall-cli get-product-inventory. Policy: read.
Native: GET /open-api/v1.0/products/{productId}/inventory. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native productId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_product_templates
List available product templates. Returns 25 results. To paginate, use the /page/{N} variant of this endpoint (1-indexed). Use the total field in the response to calculate total pages. Pagination is path-based for HTTP cacheability.
CLI: fourthwall-cli list-product-templates. Policy: read.
Native: GET /open-api/v1.0/product-templates. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_product_template
Get detailed information about a specific product template.
This endpoint is public and does not require authentication. Returns full product details including variants, customizable areas, size guide, and images.
CLI: fourthwall-cli get-product-template. Policy: read.
Native: GET /open-api/v1.0/product-templates/{productId}. Current source.
product_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Product template ID
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
search_product_templates
Search product templates by name, brand, description, sizes, categories, colors, or production method. Returns 25 results. To paginate, use the /search/{query}/page/{N} variant of this endpoint (1-indexed). Use the total field in the response to calculate total pages. Pagination is path-based for HTTP cacheability.
CLI: fourthwall-cli search-product-templates. Policy: read.
Native: GET /open-api/v1.0/product-templates/search/{query}. Current source.
query- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Search query (e.g., 'hoodie', 'black%20t-shirt')
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
search_product_templates_paged
Search product templates with pagination. This endpoint is public and does not require authentication.
CLI: fourthwall-cli search-product-templates-paged. Policy: read.
Native: GET /open-api/v1.0/product-templates/search/{query}/page/{page}. Current source.
query- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Search query (e.g., 'hoodie', 'black%20t-shirt')
page- Type or constraint
- integer (minimum=1, format=int32)
- Requirement
- Required
- Meaning
- Page number (1-indexed)
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
search_product_templates_grouped
Search product templates and group results by product family (libraryId). Products sharing the same physical item but with different production methods (e.g. DTG, Embroidery, DTFX) are collapsed into a single result with a variants list. Returns 25 grouped results. To paginate, use the /search-grouped/{query}/page/{N} variant (1-indexed). Pagination is path-based for HTTP cacheability.
CLI: fourthwall-cli search-product-templates-grouped. Policy: read.
Native: GET /open-api/v1.0/product-templates/search-grouped/{query}. Current source.
query- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Search query (e.g., 'hoodie', 'black%20t-shirt')
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
search_product_templates_grouped_paged
Search product templates grouped by product family with pagination. This endpoint is public and does not require authentication.
CLI: fourthwall-cli search-product-templates-grouped-paged. Policy: read.
Native: GET /open-api/v1.0/product-templates/search-grouped/{query}/page/{page}. Current source.
query- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Search query (e.g., 'hoodie', 'black%20t-shirt')
page- Type or constraint
- integer (minimum=1, format=int32)
- Requirement
- Required
- Meaning
- Page number (1-indexed)
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_product_templates_paged
List available product templates with pagination. This endpoint is public and does not require authentication.
CLI: fourthwall-cli list-product-templates-paged. Policy: read.
Native: GET /open-api/v1.0/product-templates/page/{page}. Current source.
page- Type or constraint
- integer (minimum=1, format=int32)
- Requirement
- Required
- Meaning
- Page number (1-indexed)
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_product_templates_by_category
Browse product templates filtered by category. Category matches by prefix (e.g., 'Apparel' matches 'Apparel/T-Shirts'). Returns 25 results. To paginate, use the /category/{category}/page/{N} variant of this endpoint (1-indexed). Use the total field in the response to calculate total pages. Pagination is path-based for HTTP cacheability.
CLI: fourthwall-cli list-product-templates-by-category. Policy: read.
Native: GET /open-api/v1.0/product-templates/category/{category}. Current source.
category- Type or constraint
- Apparel, Accessories, Home & Living
- Requirement
- Required
- Meaning
- Category path. Top-level: Apparel, Accessories, Home & Living. Subcategory paths like 'Apparel/T-Shirts' are also valid.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_product_templates_by_category_paged
Browse product templates by category with pagination. This endpoint is public and does not require authentication.
CLI: fourthwall-cli list-product-templates-by-category-paged. Policy: read.
Native: GET /open-api/v1.0/product-templates/category/{category}/page/{page}. Current source.
category- Type or constraint
- Apparel, Accessories, Home & Living
- Requirement
- Required
- Meaning
- Category path. Top-level: Apparel, Accessories, Home & Living. Subcategory paths like 'Apparel/T-Shirts' are also valid.
page- Type or constraint
- integer (minimum=1, format=int32)
- Requirement
- Required
- Meaning
- Page number (1-indexed)
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_pro_subscription
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns the current Fourthwall Pro platform subscription status, plan, and usage against plan limits
CLI: fourthwall-cli get-pro-subscription. Policy: read.
Native: GET /open-api/v1.0/pro-subscription. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_orders
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns all orders with pagination. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-orders. Policy: read.
Native: GET /open-api/v1.0/order. Current source.
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=20)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
email- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Native email
created_at_gt- Type or constraint
- string (format=date-time)
- Requirement
- Optional
- Meaning
- Native createdAt[gt]
created_at_lt- Type or constraint
- string (format=date-time)
- Requirement
- Optional
- Meaning
- Native createdAt[lt]
updated_at_gt- Type or constraint
- string (format=date-time)
- Requirement
- Optional
- Meaning
- Native updatedAt[gt]
updated_at_lt- Type or constraint
- string (format=date-time)
- Requirement
- Optional
- Meaning
- Native updatedAt[lt]
status- Type or constraint
- array
- Requirement
- Optional
- Meaning
- Native status
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_order
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns order by id
CLI: fourthwall-cli get-order. Policy: read.
Native: GET /open-api/v1.0/order/{orderId}. Current source.
order_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native orderId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_order_by_friendly_id
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns order by friendly id
CLI: fourthwall-cli get-order-by-friendly-id. Policy: read.
Native: GET /open-api/v1.0/order/by-friendly-id/{friendlyId}. Current source.
friendly_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native friendlyId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_membership_tiers
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Lists all tiers for the current shop
CLI: fourthwall-cli list-membership-tiers. Policy: read.
Native: GET /open-api/v1.0/memberships/tiers. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_members
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Lists all members for the current shop. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-members. Policy: read.
Native: GET /open-api/v1.0/memberships/members. Current source.
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=20)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_member
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Gets a member by id
CLI: fourthwall-cli get-member. Policy: read.
Native: GET /open-api/v1.0/memberships/members/{id}. Current source.
id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native id
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_mailing_list
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns all mailing list entries. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-mailing-list. Policy: read.
Native: GET /open-api/v1.0/mailing-list-entries. Current source.
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=20)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_giveaway_packages
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns all packages with giveaway links
CLI: fourthwall-cli list-giveaway-packages. Policy: read.
Native: GET /open-api/v1.0/giveaway-links/packages. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_giveaway_package
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns all giveaway links for packageId
CLI: fourthwall-cli get-giveaway-package. Policy: read.
Native: GET /open-api/v1.0/giveaway-links/packages/{packageId}. Current source.
package_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native packageId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_giveaway_draw
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Get draw details
CLI: fourthwall-cli get-giveaway-draw. Policy: read.
Native: GET /open-api/v1.0/gifting/draw/{id}. Current source.
id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native id
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_gift_purchase
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns gift purchase details by id
CLI: fourthwall-cli get-gift-purchase. Policy: read.
Native: GET /open-api/v1.0/gift-purchase/{giftPurchaseId}. Current source.
gift_purchase_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native giftPurchaseId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_donations
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns all donations with pagination. The maximum page size is 100 - larger values are capped at 100.
CLI: fourthwall-cli list-donations. Policy: read.
Native: GET /open-api/v1.0/donations. Current source.
page- Type or constraint
- integer (minimum=0, format=int32, default=0)
- Requirement
- Optional
- Meaning
- Native page
size- Type or constraint
- integer (minimum=1, maximum=100, format=int32, default=20)
- Requirement
- Optional
- Meaning
- Number of elements per page. The maximum page size is 100 - larger values are capped at 100.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_donation
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns donation by id
CLI: fourthwall-cli get-donation. Policy: read.
Native: GET /open-api/v1.0/donations/{donationId}. Current source.
donation_id- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native donationId
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_dns_status
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns the cached DNS configuration and record status for the shop's custom domain
CLI: fourthwall-cli get-dns-status. Policy: read.
Native: GET /open-api/v1.0/dns. Current source.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
get_collection
Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).
Returns a collection by its ID or slug
CLI: fourthwall-cli get-collection. Policy: read.
Native: GET /open-api/v1.0/collections/{collectionIdOrSlug}. Current source.
collection_id_or_slug- Type or constraint
- string (minLength=1, maxLength=256)
- Requirement
- Required
- Meaning
- Native collectionIdOrSlug
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
list_accounts
Local labels/default/auth source availability only. No credential values, paths, provider identity or network.
CLI: fourthwall-cli list-accounts. Policy: read.
get_operation_schema
Local reviewed native method/path/query/body/scopes/rate limit and pinned schema provenance. No provider access or authority proof.
CLI: fourthwall-cli get-operation-schema. Policy: read.
operation- Type or constraint
- get_webhook, update_webhook, delete_webhook, start_streaming, end_streaming, get_public_token, get_promotion, update_promotion, update_product_state, toggle_product_availability, mark_download_complete, finish_giveaway, create_giveaway_checkout, disable_giveaway_checkout, finish_giveaway_draw, get_gifting_config, update_gifting_config, update_collection, get_collection_products, update_collection_products, update_collection_availability, list_webhooks, create_webhook, list_promotions, create_promotion, list_products, create_product, attach_product_images, remove_product_images, confirm_digital_file_upload, remove_digital_file, request_digital_file_upload_url, request_media_upload_url, list_media_images, save_media_image, create_giveaway, create_giveaway_links, create_gifting_checkout, create_fulfillment, validate_dns, list_collections, create_collection, list_webhook_events, get_webhook_event, get_thank_you, list_contributions, get_streaming_status, get_shop, get_shop_contact, get_sample_balance, list_reports, get_report, get_product, archive_product, get_product_inventory, list_product_templates, get_product_template, search_product_templates, search_product_templates_paged, search_product_templates_grouped, search_product_templates_grouped_paged, list_product_templates_paged, list_product_templates_by_category, list_product_templates_by_category_paged, get_pro_subscription, list_orders, get_order, get_order_by_friendly_id, list_membership_tiers, list_members, get_member, list_mailing_list, list_giveaway_packages, get_giveaway_package, get_giveaway_draw, get_gift_purchase, list_donations, get_donation, get_dns_status, get_collection
- Requirement
- Required
- Meaning
- Native field
preview_shop_batch
Validate every exact request and hash order/profile label/schema locally. No native request, credential loading, ownership check or provider preview.
CLI: fourthwall-cli preview-shop-batch. Policy: read.
tasks- Type or constraint
- array (minItems=1, maxItems=20)
- Requirement
- Required
- Meaning
- One to twenty exact ordered native effects. No signed receipts or mutable payload files. Cannot override account/confirm/output settings.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
submit_shop_batch
Confirmed ordered effects; all validated/hash checked before first request. Stop on first failure with known and unattempted receipts; no retry, rollback or implicit continuation.
CLI: fourthwall-cli submit-shop-batch. Policy: explicit confirmation.
tasks- Type or constraint
- array (minItems=1, maxItems=20)
- Requirement
- Required
- Meaning
- One to twenty exact ordered native effects. No signed receipts or mutable payload files. Cannot override account/confirm/output settings.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
review_sha256- Type or constraint
- string
- Requirement
- Required
- Meaning
- Native field
export_resources
Confirmed native page/size/results export into a new exclusive0600 file with page/item/5MiB budgets and explicit page/offset continuation. No links followed, binary downloads or atomic-backup guarantee.
CLI: fourthwall-cli export-resources. Policy: explicit confirmation.
operation- Type or constraint
- get_collection_products, list_promotions, list_products, list_collections, list_webhook_events, list_contributions, list_orders, list_members, list_mailing_list, list_donations
- Requirement
- Required
- Meaning
- Native field
arguments- Type or constraint
- object
- Requirement
- Optional
- Meaning
- Current list query/path arguments; cannot override profile/policy/output.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
start_offset- Type or constraint
- integer (minimum=0, maximum=99)
- Requirement
- Optional
- Meaning
- Native field
max_pages- Type or constraint
- integer (minimum=1, maximum=100)
- Requirement
- Optional
- Meaning
- Native field
max_items- Type or constraint
- integer (minimum=1, maximum=10000)
- Requirement
- Optional
- Meaning
- Native field
output_file- Type or constraint
- string (minLength=1)
- Requirement
- Required
- Meaning
- Native field
upload_file
Explicitly confirmed Google Storage PUT using a selected private upload receipt and a bounded local regular file. Exact size/Content-Type and x-goog-content-length-range are preserved. No Fourthwall credentials or redirects, no automatic registration/publishing.
CLI: fourthwall-cli upload-file. Policy: explicit confirmation.
account- Type or constraint
- string
- Requirement
- Optional
- Meaning
- Exact private shop profile label; not a provider identity or authorization proof.
confirm- Type or constraint
- boolean
- Requirement
- Optional
- Meaning
- Explicit approval for this exact provider effect or local private-file operation.
receipt_file- Type or constraint
- string (minLength=1)
- Requirement
- Required
- Meaning
- Native field
input_file- Type or constraint
- string (minLength=1)
- Requirement
- Required
- Meaning
- Native field
Writing safely
Every one of the 37 effects requires confirm:true in MCP or --confirm in the CLI. This includes new checkouts, public-token PUT, uploads and local export file writes. Read-only hides and directly refuses effects. FOURTHWALL_ALLOW_DESTRUCTIVE=0 refuses them even when confirmed. Local guard approval is separate from provider authorization and customer consent.
Read the intended record and inspect get_operation_schema before writing. Validate IDs, quantities, callback events and the exact profile. Product creation defaults to hidden. Availability is not lifecycle state: available:false and state:HIDDEN are separate native changes.
No effect retries automatically. A timeout, malformed receipt or partial batch can mean an unknown outcome. Inspect native state before deliberately repeating. The default pacing is 1,000 ms per request; tighter documented operation buckets are respected locally. Other processes share provider quotas.
Products media and fulfillment
The pinned contract uses /open-api/v1.0 and current native typed bodies. Product creation supports selected design/digital variants, not every custom production workflow. Digital price is a nonnegative USD amount; publishOnCreate defaults false.
fourthwall-cli create-product --payload-file /absolute/private/digital-product.json --account intended-shop --confirm --agent
fourthwall-cli toggle-product-availability --product-id REVIEWED_PRODUCT_ID --available false --confirm --agent
fourthwall-cli update-product-state --product-id REVIEWED_PRODUCT_ID --state HIDDEN --confirm --agentThe digital tutorial describes admin publishing while the current state endpoint documents PUBLIC/HIDDEN. Check actual authorization and storefront visibility before claiming a live publication outcome. These examples are placeholders, not successful shop receipts.
Media workflow: request_media_upload_url saves a signed receipt to a NEW private file; upload_file sends exact local bytes; save_media_image registers the uploaded reference separately. Digital-file workflow uses request_digital_file_upload_url, upload_file and confirm_digital_file_upload. Use private payload files for fileUrl; never paste signed receipts into agent context.
fourthwall-cli request-media-upload-url --fileName reviewed.png --contentType image/png --size 4096 --output-file /absolute/private/upload-receipt.json --account intended-shop --confirm --agent
fourthwall-cli upload-file --receipt-file /absolute/private/upload-receipt.json --input-file /absolute/private/reviewed.png --account intended-shop --confirm --agent
fourthwall-cli save-media-image --payload-file /absolute/private/register-image.json --account intended-shop --confirm --agentReplace 4096 with the exact file byte count. The helper's local cap is 64 MiB, not a Fourthwall plan entitlement. HTTPS Google Storage signed hosts only, no redirects, exact Content-Type and x-goog-content-length-range; no Fourthwall Authorization header reaches storage. Upload acknowledgement is not registration, storefront publication or access proof. Receipts bind a profile label and metadata, not cryptographic ownership.
Fulfillment requires native orderId, nonempty items with variantId/quantity, and shippingLabel with trackingCompany/trackingNumber. Giveaway links require productId and number, not the old quantity wrapper. Promotions retain four native variants and their nested discount shapes. Streaming services are native typed objects, not strings. Inspect schema before submitting any of these.
Several accounts and reviewed batches
FOURTHWALL_ACCOUNTS is a private JSON array of unique name plus one username/password, access_token or credentials_file source. Named profiles never inherit globals. FOURTHWALL_DEFAULT_ACCOUNT selects an exact default; --account selects another label. Discovery reports labels and source availability only, never secret values or paths.
Preview validates 1–20 ordered native effects locally before any provider call. Signed-output operations and mutable payload files are excluded. Every nested argument is validated; account/confirm/output overrides are forbidden. Preview returns reviewSha256 and providerValidated:false.
fourthwall-cli preview-shop-batch --tasks '{"tool":"toggle_product_availability","arguments":{"product_id":"REVIEWED_PRODUCT_ID","available":false}}' --account intended-shop --agent
fourthwall-cli submit-shop-batch --tasks '{"tool":"toggle_product_availability","arguments":{"product_id":"REVIEWED_PRODUCT_ID","available":false}}' --review-sha256 REVIEWED_64_CHARACTER_HASH --account intended-shop --confirm --agentThe repeatable JSON flag becomes the tasks array. Use the exact hash from your local preview. It binds prepared requests, task order, profile label and selected schema, not credentials, provider state, expiry or single-use execution. Re-review after credential/state changes. Execution stops on the first failure and reports known results and unattempted indices. No transaction or rollback is promised.
Pagination and private exports
Query pagination uses native zero-based page/size, with size capped locally at 100. Product-template path pagination is one-based. The old cursor/limit wrappers are obsolete. Native date filter names and repeated status values are preserved by the request encoder; inspect the actual list schema.
export_resources supports the ten selected lists whose current schema exposes results/page/size/totalPages. It validates counters, limits pages/items/bytes, and returns continuation with a page and start_offset when needed. Default budgets are ten pages and 1,000 items; maxima are 100 pages, 10,000 items and 5 MiB.
fourthwall-cli export-resources --operation list_orders --arguments '{"page":0,"size":100}' --max-pages 10 --max-items 1000 --output-file /absolute/private/orders.json --account intended-shop --confirm --agentA new file is reserved exclusively before fetching; existing files and symlinks are not overwritten. POSIX output mode is 0600; Windows ACLs require separate restriction. Errors remove the partial new file. Exports redact known credentials/signed URLs, but other customer metadata remains private. This is bounded filtered metadata, not an atomic backup, binary download or stable snapshot while data changes.
How it works
The SDK stdio server and CLI in-memory transport call the same handlers. Ajv validates discovered input schemas and current native body variants. A shared guard applies confirmation and read-only policy before effects. Native method/path allowlists prevent arbitrary provider requests; query arrays and date names retain their native representation.
Six local helpers add private profile discovery, contract inspection, reviewed batches, bounded exports and exact byte uploads. No vendor or community runtime is copied. Official schema provenance and the 39-name migration mapping are checked by scripts.
npm ci
npm run typecheck
npm run build
npm test
npm run check:counts
npm run check:discovery
npm run sync:api -- --check
npm run build:mcpbCI runs macOS, Windows and Linux on Node 22/24 plus desktop packaging. These checks prove local contracts, policy, transports and artifacts; authenticated provider outcomes, desktop GUI installation and matched Codex tokens remain separate. See RELEASE-CHECKLIST.md.
Your data
Credentials live in private process settings or owner-private files; there is no hosted service or telemetry. Provider API requests go only to api.fourthwall.com. Storage uploads are separately scoped to the documented Google Storage HTTPS hosts and carry no provider credentials.
Raw signed upload receipts and generated public tokens are intentionally written only to a requested new private output_file. Known credentials, sensitive token/file fields and signed credential URLs are redacted from ordinary output and errors. Customer names, emails, order contents and other legitimate native metadata are not automatically anonymized.
Treat provider content and URLs as untrusted data. Optional best-effort audit logs contain static guard decisions, not payloads or credentials; they are not financial ledgers. Keep exports and receipts private. Uninstalling does not revoke provider credentials or reverse effects. Revoke or rotate in Fourthwall and restart dependent runtimes.
Official and community comparison
Fourthwall's official MCP already exists. It provides hosted OAuth, broad shop tooling, confirmations and documented previews, with 123 documented tools at review. This package is a selected local companion, with 80 native operations and six workflows. Neither count proves greater coverage or efficiency.
- This companion
- Private shop Basic pair or existing OAuth bearer/file
- Existing tooling
- Official hosted OAuth with shop selection
- This companion
- Selected reviewed Platform API routes
- Existing tooling
- Official broader shop, brand, merch and analytics tools
- This companion
- Dedicated task CLI over the exact same MCP handlers
- Existing tooling
- Generic MCP terminal clients also exist
- This companion
- Mandatory per-call approval and direct read-only refusal on both surfaces
- Existing tooling
- Official confirmations and previews already exist
- This companion
- Exact local ordered batch review and failure receipts
- Existing tooling
- No claim of transaction or state locking
- This companion
- Bounded private native metadata export with resume offset
- Existing tooling
- Not an atomic backup or binary download
- This companion
- Private signed receipts and explicit bounded byte helper
- Existing tooling
- Native upload services remain the authority
- This companion
- No measured task-token saving yet
- Existing tooling
- Equivalent completed tasks must be measured
The reviewed generic wong2/mcp-cli source at 7d12b464 already supports remote interactive OAuth. Its noninteractive JSON call path in that snapshot uses stdio; HTTP noninteractive equivalence was not verified. A bounded GitHub community search found no additional dedicated Fourthwall MCP repository, which is not proof none exists. See COMPARISON.md for review evidence and exclusions.
Versions and migration
| Component | Version or evidence |
|---|---|
| Package and desktop | 2.0.0 |
| Runtime | Node >=22 |
| Native API | Current Platform v1.0 schema checked 2026-10-04 |
| Selected operations | 80 of 95 native operations, 80 distinct method/path routes |
| Legacy | 39 actual tool names preserved; breaking argument refresh |
| Task/token, provider and GUI outcomes | Separate acceptance work; not inferred from local tests |
Old cursor/limit fields become page/size, availability uses available, fulfillment uses items/shippingLabel, giveaway uses productId/number, webhooks require url and allowedTypes, promotions use native oneOf variants, and streaming services use typed objects. Effects now require explicit approval. Token/upload receipts need new private output_file. Product creation stays hidden by default. Use schema/help before migrating scripts.
The current official source SHA-256 is 77de1061d5c9273927fd3cf4cac1375c4bb684bed4cc4c0f22252ea6b0e203fe. Provenance, excluded operations and sanitized snapshot checksum ship in src/tools/provenance.json. CHANGELOG.md records the full refresh; private legacy history remains separate.
Risks
Full-access Basic credentials make careful profile and permission selection necessary. Local approval cannot prove ownership, customer consent, fulfillment delivery or storefront state. There are no automatic retries, rollbacks, refunds or cleanup workflows beyond the explicitly documented tools.
Fixed local bounds are 1 MiB request/body file, 5 MiB API response/export and 64 MiB byte upload. Timeout defaults to 30 seconds and local pacing to one second, with tighter native buckets. These are conservative process controls, not global quota guarantees. Sandbox verification uses fixtures and makes no real shop changes.
Troubleshooting
| Symptom | Check |
|---|---|
| Missing configuration | Choose one complete private auth source; confirm the launching runtime inherits it |
| API 401/403 | Check revoked credentials, OAuth scopes, shop permissions and intended resource |
| Unknown profile | Use exact list_accounts labels; named profiles never inherit globals |
| 429 | Respect shared provider quotas; do not repeatedly retry a possibly completed effect |
| Invalid arguments | Run schema/--help; old wrappers and guessed body fields are rejected |
| Upload byte mismatch | Request a new receipt for the exact file size; preserve required headers |
| Existing output file | Pick a new private path; outputs never overwrite |
| Empty or malformed receipt | Inspect native state before deliberately repeating |
| GUI launcher cannot find npx | Check the client's PATH or use absolute node/package paths |
| Hidden write absent | Read-only intentionally removes it and refuses direct calls |
Report sanitized reproducible details through GitHub issues, or use private security reporting. Never attach credentials, upload URLs or customer exports.
Fourthwall MCP server & CLI FAQs
Authentication, official alternatives, approvals, uploads and what has been verified.
A local program that lets an MCP app call selected Fourthwall Platform API operations.
It exposes 86 shared tasks, including six local workflows, through one implementation also used by the CLI.
The same tasks as terminal commands.
Tool names use underscores in MCP and dashes in commands, such as list_products and fourthwall-cli list-products.
Shell agents and scripts can use JSON output without configuring an MCP connection.
Yes.
Fourthwall offers a hosted OAuth MCP at https://mcp.fourthwall.com with broader shop, brand, merchandising and analytics coverage.
Its documentation listed 123 tools when reviewed on October 4, 2026; that is a documentation count, not authenticated discovery.
Choose it for hosted OAuth, broad dashboard coverage and its own native previews and confirmations.
Choose this companion when you need a dedicated shared task CLI, exact local request reviews, isolated profile selection or bounded private metadata exports.
No.
Generic MCP terminal clients also exist, and the official MCP already confirms changes.
The useful additions here are specific local workflows and consistent per-call policy across CLI and MCP.
There is no universal superiority or total-coverage claim.
Codex, Claude Code, Claude Desktop, Cursor, VS Code/Copilot, Windsurf, Zed and Gemini CLI can launch a local stdio server where supported.
Other stdio clients can use the same executable.
URL-only hosted connectors cannot connect directly to this local package.
The npm package and manifest require Node 22 or newer.
The desktop bundle includes production JavaScript dependencies; a compatible host must provide the required runtime. macOS, Windows and Linux are declared; CI and actual GUI installation are separate checks.
A Fourthwall SUPER ADMIN can create shop API credentials in Settings > For Developers.
Configure the complete private username/password pair, an existing OAuth access token, or a private credential JSON file.
Basic credentials grant full shop access.
No. fourthwall-cli login prints the private setup instructions.
It does not create credentials, open browser consent, exchange tokens or refresh an existing OAuth token.
Use the official provider flow separately if you need OAuth.
Yes.
FOURTHWALL_ACCOUNTS contains independently configured named profiles, and --account selects one exact label.
Named profiles never inherit global credentials.
Labels and review hashes do not establish shop ownership or lock credential contents.
FOURTHWALL_READ_ONLY=1 exposes only the 49 read operations and directly refuses the 37 hidden effects, even if confirm is supplied.
This is a local runtime policy; it does not reduce permissions on Fourthwall credentials or govern another client.
All 37 provider and local effects need confirm:true in MCP or --confirm in the CLI.
That includes product changes, checkout creation, token generation, upload URL requests, byte uploads, reviewed batches and exports. --yes and --agent do not grant permission.
Creation defaults publishOnCreate to false, keeping the product hidden.
Publishing is a separate deliberate choice.
The current state endpoint documents PUBLIC/HIDDEN, while the digital-product tutorial also describes admin publishing; authorization and live visibility must be checked in the intended shop.
No.
Preview validates every request locally and hashes exact requests, order, profile label and pinned contract.
Submit verifies that hash and stops on the first failure.
There is no rollback, state lock, expiry or single-use promise; failed effect outcomes can be unknown.
No.
Exports save selected native page/size/results metadata with explicit page, item and byte budgets and continuation.
They are not atomic snapshots, binary downloads or a guarantee of completeness while shop data changes.
Request a signed upload receipt into a new private file, then explicitly upload matching local bytes to the documented Google Storage host.
Registration or attachment is separate.
The upload sends no Fourthwall Authorization header and never automatically publishes a product.
Credentials remain in private environment settings or owner-only regular files outside repositories.
Signed upload URLs and public tokens are saved only to requested new private files.
Ordinary output redacts known credentials and signed URLs; other shop/customer fields remain private data.
Download fourthwall-2.0.0.mcpb from GitHub Releases and install it through a supported Claude Desktop Extensions screen.
Choose one credential source and leave others empty.
The release includes production dependencies and no credentials.
Archive/protocol checks do not prove GUI installation in every client build.
The software is free under AGPL-3.0.
Fourthwall service fees, plans and usage still apply.
CLI can avoid loading unused MCP schemas, but command help, results, retries and task completion also cost context.
Matched completed Codex task/token measurements remain pending; no savings percentage is invented.
All 39 actual legacy tool names remain, but native arguments and pagination were corrected.
The new package adds a CLI, desktop bundle, 80 selected native operations, six local workflows, explicit effect approval and stronger private output handling.
Version 2.0.0 is a breaking contract refresh; old private history is preserved separately.
Navid.me is reader-supported. When you buy through links on this site, I may earn an affiliate commission. Learn more.
More MCP servers & CLIs
Related free tools
Darmowy newsletter o AINajbardziej praktyczny newsletter o AI dla założycieli
Co tydzień sprawdzone strategie AI, wyselekcjonowane narzędzia i systemy krok po kroku, dzięki którym zwiększysz zasięgi, stworzysz lepsze treści i zbudujesz dochodowy biznes twórcy.
Bez lania wody, bez zapychaczy, bez ściemy. Tylko pięć minut w tygodniu, które mogą przenieść Twój biznes online i życie na wyższy poziom.
P.S. Zapisz się teraz i zyskaj darmowy dostęp do mojego kompletnego przewodnika po narzędziach AI dla twórców.
















