> ## Documentation Index
> Fetch the complete documentation index at: https://productlasso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Product

> Create a new product in the catalog

Create a new product with the specified attributes. The product will be validated against its schema's column definitions.

<ParamField body="schema_id" type="string" required>
  The ID of the catalog schema this product belongs to.
</ParamField>

<ParamField body="attributes" type="object" required>
  Product attributes as key-value pairs matching the schema columns.

  <Expandable title="Example attributes">
    Keys must match column keys defined in the schema. Values are validated against column types (text, number, boolean, enum, etc.).
  </Expandable>
</ParamField>

<ResponseField name="id" type="string">Unique product ID.</ResponseField>
<ResponseField name="schema_id" type="string">Catalog schema ID.</ResponseField>
<ResponseField name="source" type="string">Always `manual` for API-created products.</ResponseField>
<ResponseField name="status" type="string">Defaults to `draft`.</ResponseField>
<ResponseField name="attributes" type="object">The stored attributes (with type coercion applied).</ResponseField>
<ResponseField name="created_at" type="string">ISO 8601 timestamp.</ResponseField>
<ResponseField name="updated_at" type="string">ISO 8601 timestamp.</ResponseField>

<RequestExample>
  ```typescript TypeScript theme={null}
  const product = await lasso.catalog.create({
    schema_id: 'e5f6a7b8-...',
    attributes: {
      title: 'New Widget',
      sku: 'WDG-002',
      price: 19.99,
    },
  });
  ```

  ```python Python theme={null}
  product = client.catalog.create(
      schema_id="e5f6a7b8-...",
      attributes={"title": "New Widget", "sku": "WDG-002", "price": 19.99},
  )
  ```

  ```bash cURL theme={null}
  curl -X POST "https://hub.banditshq.com/api/v1/catalog" \
    -H "Authorization: Bearer lasso_..." \
    -H "Content-Type: application/json" \
    -d '{"schema_id": "e5f6a7b8-...", "attributes": {"title": "New Widget", "sku": "WDG-002", "price": 19.99}}'
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "id": "f9e8d7c6-...",
    "schema_id": "e5f6a7b8-...",
    "source": "manual",
    "status": "draft",
    "attributes": {
      "title": "New Widget",
      "sku": "WDG-002",
      "price": 19.99
    },
    "created_at": "2026-05-27T10:00:00Z",
    "updated_at": "2026-05-27T10:00:00Z"
  }
  ```
</ResponseExample>
