Skip to content

ulams products

Generated from front/cli (ulams schema)

Attach product to user.

Kind: write. Stability: stable. MCP tool: products_attach. Scopes: commerce:write.

Endpoints: POST /api/admin/products/{id}/attach.

Flag Type Required Description
--id (positional) integer yes id of Product
--user-id integer yes
Terminal window
# Attach product to user
ulams products attach 1 --user-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Product"
},
"user_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"user_id"
],
"additionalProperties": {}
}

Create product.

Kind: write. Stability: stable. MCP tool: products_create. Scopes: commerce:write.

Endpoints: POST /api/admin/products/.

Flag Type Required Description
--categories array
--description string
--duration string
--extra-fees integer
--language string
--limit-per-user integer
--limit-total integer
--name string yes
--poster string image upload
--price integer yes
--price-old integer
--productables array
--purchasable boolean
--related-products array
--tags array
--tax-rate integer
--teaser-url string
Terminal window
# Create product
ulams products create --name Example --price text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"description": {
"type": "string"
},
"duration": {
"type": "string"
},
"extra_fees": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"language": {
"type": "string"
},
"limit_per_user": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit_total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"name": {
"type": "string"
},
"poster": {
"type": "string",
"description": "image upload"
},
"price": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"price_old": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"productables": {
"type": "array",
"items": {}
},
"purchasable": {
"type": "boolean"
},
"related_products": {
"type": "array",
"items": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"tax_rate": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"teaser_url": {
"type": "string"
}
},
"required": [
"name",
"price"
],
"additionalProperties": {}
}

Delete product.

Kind: destructive (idempotent). Stability: stable. MCP tool: products_delete. Scopes: commerce:write.

Endpoints: DELETE /api/admin/products/{id}.

Flag Type Required Description
--id (positional) integer yes
Terminal window
# Delete product
ulams products delete 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Detach product from user.

Kind: write. Stability: stable. MCP tool: products_detach. Scopes: commerce:write.

Endpoints: POST /api/admin/products/{id}/detach.

Flag Type Required Description
--id (positional) integer yes id of Product
--user-id integer yes
Terminal window
# Detach product from user
ulams products detach 1 --user-id text --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Product"
},
"user_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"user_id"
],
"additionalProperties": {}
}

Read product.

Kind: read (idempotent). Stability: stable. MCP tool: products_get. Scopes: commerce:read.

Endpoints: GET /api/admin/products/{id}.

Flag Type Required Description
--id (positional) integer yes
Terminal window
# Read product
ulams products get 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"additionalProperties": {}
}

Search products.

Kind: read (idempotent). Stability: stable. MCP tool: products_list. Scopes: commerce:read.

Endpoints: GET /api/admin/products.

Flag Type Required Description
--order-by string
--order string
--page integer Pagination Page Number
--per-page integer Pagination Per Page
--productable-id integer Productable ID (for example Course Id)
--productable-type string Productable type (class) - required if productable_id is sent
--free boolean Find free (price = 0)
--name string Partial name filter
--type string Type (single, bundle, subscription)
--purchasable boolean Purchasable filter
--tags array Tags
Terminal window
# Search products
ulams products list --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"order_by": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"name"
]
},
"order": {
"type": "string",
"enum": [
"ASC",
"DESC"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pagination Page Number"
},
"per_page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Pagination Per Page"
},
"productable_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Productable ID (for example Course Id)"
},
"productable_type": {
"type": "string",
"description": "Productable type (class) - required if productable_id is sent"
},
"free": {
"type": "boolean",
"description": "Find free (price = 0)"
},
"name": {
"type": "string",
"description": "Partial name filter"
},
"type": {
"type": "string",
"description": "Type (`single`, `bundle`, `subscription`)"
},
"purchasable": {
"type": "boolean",
"description": "Purchasable filter"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags"
}
},
"additionalProperties": {}
}

Manually triggered event for users of the product.

Kind: write. Stability: stable. MCP tool: products_trigger_event_manually. Scopes: commerce:write.

Endpoints: POST /api/admin/products/{id}/trigger-event-manually/{idTemplate}.

Flag Type Required Description
--id (positional) integer yes id of Product
--id-template (positional) integer yes id of Template
--body unknown Request body (JSON)
Terminal window
# Manually triggered event for users of the product
ulams products trigger-event-manually 1 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Product"
},
"idTemplate": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "id of Template"
},
"body": {
"description": "Request body (JSON)"
}
},
"required": [
"id",
"idTemplate"
],
"additionalProperties": {}
}

Create product.

Kind: write (idempotent). Stability: stable. MCP tool: products_update. Scopes: commerce:write.

Endpoints: PUT /api/admin/products/{id}.

Flag Type Required Description
--id (positional) integer yes
--categories array
--description string
--duration string
--extra-fees integer
--language string language
--limit-per-user integer
--limit-total integer
--name string
--poster string image upload
--price integer
--price-old integer
--productables array
--purchasable boolean
--related-products array
--tags array
--tax-rate number
--teaser-url string
Terminal window
# Create product
ulams products update 1 --json
Input JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"categories": {
"type": "array",
"items": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"description": {
"type": "string"
},
"duration": {
"type": "string"
},
"extra_fees": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"language": {
"type": "string",
"description": "language"
},
"limit_per_user": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit_total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"name": {
"type": "string"
},
"poster": {
"type": "string",
"description": "image upload"
},
"price": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"price_old": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"productables": {
"type": "array",
"items": {}
},
"purchasable": {
"type": "boolean"
},
"related_products": {
"type": "array",
"items": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"tax_rate": {
"type": "number"
},
"teaser_url": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": {}
}