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

# Class: Product

[resources/products](../modules/resources_products).ProductClient

The ProductClient manages the lifecycle of products, which represent the instantiation of a licensed asset
on an external platform (e.g., a specific t-shirt on Roblox created from a licensed design).
Products link the Spaceport asset and agreement to its real-world counterpart,
enabling tracking and royalty calculations.

## Table of contents

#### Methods

* [findById](#findbyid)
* [findManyByIds](#findmanybyids)
* [create](#create)

### constructor

• **new ProductClient**(`client`): [`ProductClient`](./product)

#### Parameters

| Name     | Type                               |
| :------- | :--------------------------------- |
| `client` | [`SpaceportSDK`](../spaceport-sdk) |

#### Returns

[`ProductClient`](./product)

## Methods

### findById

▸ **findById**(`productId`, `_params?`): `Promise`\<`null` | [`Product`](../types/product)>

Finds a product by its ID

#### Parameters

| Name        | Type                                                | Description                   |
| :---------- | :-------------------------------------------------- | :---------------------------- |
| `productId` | `string`                                            | The ID of the product to find |
| `_params`   | [`FindProductParams`](../types/find-product-params) | -                             |

#### Returns

`Promise`\<`null` | [`Product`](../types/product)>

Promise resolving to product details

### findManyByIds

▸ **findManyByIds**(`productIds`, `_params?`): `Promise`\<[`Product`](../types/product)\[]>

Finds multiple products by their IDs in a single request

#### Parameters

| Name         | Type                                                | Description                  |
| :----------- | :-------------------------------------------------- | :--------------------------- |
| `productIds` | `string`\[]                                         | Array of product IDs to find |
| `_params`    | [`FindProductParams`](../types/find-product-params) | -                            |

#### Returns

`Promise`\<[`Product`](../types/product)\[]>

Promise resolving to array of product details

**`Example`**

```typescript theme={null}
const products = await sdk.products.findManyByIds(['123', '456', '789']);
console.log(`Found ${products.length} products`);
```

### create

▸ **create**(`params`): `Promise`\<[`CreateProductResponse`](../types/create-product-response)>

Creates products from agreement assets

#### Parameters

| Name     | Type                                                    | Description                 |
| :------- | :------------------------------------------------------ | :-------------------------- |
| `params` | [`CreateProductParams`](../types/create-product-params) | Product creation parameters |

#### Returns

`Promise`\<[`CreateProductResponse`](../types/create-product-response)>

Promise resolving to creation response
