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

# List Products

Retrieve the list of products available to your account. Use this endpoint to find the `PRODUCT_ID` needed for uploading binary images.

## When to Use This Endpoint

Before uploading an image to scan, you need to know which product to associate it with. This endpoint returns all products you have access to, allowing you to:

* Find the correct product ID for your image
* Verify you have access to the intended product
* Discover available products in your organization

## Request

**Endpoint**

```
GET <BINARLY_API_URL>/api/v4/products
```

**Headers**

| Header          | Value                   |
| --------------- | ----------------------- |
| `Authorization` | `Bearer <access_token>` |

## Example Request

```bash theme={null}
curl -H "Authorization: Bearer ${TOKEN}" \
  ${BINARLY_API_URL}/api/v4/products
```

## Response

```json theme={null}
{
  "products": [
    {
      "id": "products/prod_abc123",
      "name": "My Firmware Product",
      "description": "Production firmware for device X",
      "createTime": "2025-06-15T10:00:00Z",
      "author": "user@example.com"
    },
    {
      "id": "products/prod_def456",
      "name": "Development Firmware",
      "description": "Development builds for testing",
      "createTime": "2025-07-20T14:30:00Z",
      "author": "user@example.com"
    }
  ]
}
```

| Field         | Description                                      |
| ------------- | ------------------------------------------------ |
| `id`          | Full product path (e.g., `products/prod_abc123`) |
| `name`        | Human-readable product name                      |
| `description` | Product description                              |
| `createTime`  | When the product was created (ISO 8601 format)   |
| `author`      | User or service that created the product         |

## Extracting the Product ID

The `id` field contains the full path (e.g., `products/prod_abc123`). When uploading images, use only the ID portion:

| Full Path              | Product ID to Use |
| ---------------------- | ----------------- |
| `products/prod_abc123` | `prod_abc123`     |
| `products/prod_def456` | `prod_def456`     |

### Alternative: Get Product ID from Dashboard URL

For testing or quick access, you can find the Product ID directly in the Binarly Dashboard URL.

1. Open the product page in the dashboard.
2. Look at the browser URL: `https://dashboard-<ID>.binarly.cloud/products/01KFNEGZEAWM1F3JBYKXDXGPDM/images/...`
3. The string after `/products/` is your Product ID (e.g., `01KFNEGZEAWM1F3JBYKXDXGPDM`).

## Example: Find Product and Upload

```bash theme={null}
# Step 1: List products and find the ID
PRODUCTS=$(curl -s -H "Authorization: Bearer ${TOKEN}" \
  ${BINARLY_API_URL}/api/v4/products)

# Step 2: Extract the first product ID (example using jq)
BINARLY_PRODUCT_ID=$(echo $PRODUCTS | jq -r '.products[0].id' | sed 's/products\///')

echo "Using product ID: $BINARLY_PRODUCT_ID"

# Step 3: Use this product ID for uploading (see upload-image endpoint)
```
