Skip to main content

Products API

The Products API allows you to manage products in your workspace. Products represent your own offerings that you want to compare against competitors.

List Products

Get all products for your workspace.

GET /api/products

Response

{
"products": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"workspaceId": "workspace-id",
"name": "My Product",
"description": "Product description",
"audience": "Primary buyer persona",
"valueProps": ["Value prop 1", "Value prop 2"],
"features": [],
"categories": [],
"capabilities": [],
"createdAt": "2024-01-01T00:00:00.000Z",
"createdByUserId": "user-id"
}
]
}

Get Product

Get a specific product by ID.

GET /api/products/{id}

Path Parameters

  • id (string, required) - Product ID

Response

{
"product": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"workspaceId": "workspace-id",
"name": "My Product",
"description": "Product description",
"audience": "Primary buyer persona",
"valueProps": ["Value prop 1"],
"features": [],
"categories": [],
"capabilities": [],
"createdAt": "2024-01-01T00:00:00.000Z",
"createdByUserId": "user-id"
}
}

Create Product

Create a new product. Requires EDITOR role or higher.

POST /api/products

Request Body

{
"name": "My Product",
"description": "Product description",
"audience": "Primary buyer persona",
"valueProps": ["Value prop 1", "Value prop 2"],
"features": [],
"categories": [],
"capabilities": []
}

Required Fields

  • name (string) - Product name
  • description (string) - Product description
  • audience (string) - Primary buyer persona

Optional Fields

  • valueProps (array of strings) - Value propositions
  • features (array of objects) - Product features
  • categories (array of objects) - Product categories
  • capabilities (array of objects) - Product capabilities

Response

{
"product": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"workspaceId": "workspace-id",
"name": "My Product",
"description": "Product description",
"audience": "Primary buyer persona",
"valueProps": ["Value prop 1"],
"features": [],
"categories": [],
"capabilities": [],
"createdAt": "2024-01-01T00:00:00.000Z",
"createdByUserId": "user-id"
}
}

Update Product

Update a product. Requires EDITOR role or higher.

PATCH /api/products/{id}

Path Parameters

  • id (string, required) - Product ID

Request Body

All fields are optional. Only include fields you want to update:

{
"name": "Updated Product Name",
"description": "Updated description",
"audience": "Updated audience",
"valueProps": ["New value prop"],
"features": [],
"categories": [],
"capabilities": []
}

Response

{
"product": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"workspaceId": "workspace-id",
"name": "Updated Product Name",
"description": "Updated description",
"audience": "Updated audience",
"valueProps": ["New value prop"],
"features": [],
"categories": [],
"capabilities": [],
"createdAt": "2024-01-01T00:00:00.000Z",
"createdByUserId": "user-id"
}
}

Delete Product

Delete a product. Requires EDITOR role or higher.

DELETE /api/products/{id}

Path Parameters

  • id (string, required) - Product ID

Response

{
"success": true
}

Error Responses

  • 400 - Bad Request (missing required fields, invalid data)
  • 401 - Unauthorized (invalid or missing API key)
  • 403 - Forbidden (insufficient permissions)
  • 404 - Not Found (product doesn't exist)