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 namedescription(string) - Product descriptionaudience(string) - Primary buyer persona
Optional Fields
valueProps(array of strings) - Value propositionsfeatures(array of objects) - Product featurescategories(array of objects) - Product categoriescapabilities(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)