Skip to content
v0.3

tenant.store.create

Create a store within the current tenant. handle is the store’s identifier and is unique within the tenant — repeating one is refused with conflict (reason: handle_taken), not accepted. host is the store’s public URL; it is also its routing address, and a URL another store already claims is refused the same way (reason: host_taken). theme_key names the storefront theme the store wears (a folder in the storefront’s themes/, resolved there); omit it for the reference theme.

  • Scope: tenant.store.write
  • System: no
  • Reachable from: POST /v1/commands/tenant.store.create (tenant credential) · MCP tool tenant.store.create · SDK client.call('tenant.store.create', …)
  • Events: tenant.store.created
{
"properties": {
"handle": {
"minLength": 1,
"type": "string"
},
"host": {
"type": "string"
},
"name": {
"minLength": 1,
"type": "string"
},
"theme_key": {
"minLength": 1,
"type": "string"
}
},
"required": [
"name",
"handle"
],
"type": "object"
}
{
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
}

validation_failed (400) · unauthorized (401) · forbidden (403) · conflict (409) · internal (500)