Products
List products
The products ChatGPT showed as shopping cards in the project’s in-scope answers, ranked by visibility: shopping answers showing the product over shopping answers in scope.
GET
/
projects
/
{projectId}
/
products
curl
curl "https://api.citino.ai/v1/projects/{projectId}/products" \
-H "Authorization: Bearer $CITINO_API_KEY"import os
import requests
res = requests.get(
"https://api.citino.ai/v1/projects/{projectId}/products",
headers={"Authorization": f"Bearer {os.environ['CITINO_API_KEY']}"},
)
print(res.json())const res = await fetch("https://api.citino.ai/v1/projects/{projectId}/products", {
headers: {
Authorization: `Bearer ${process.env.CITINO_API_KEY}`,
},
});
console.log(await res.json());{
"scope": {},
"coverage": {
"reporting": [
"<string>"
],
"not_reporting": [
"<string>"
]
},
"shopping": {
"answers": 0,
"shopping_answers": 0
},
"items": [
{
"product_key": "<string>",
"title": "<string>",
"yours": true,
"visibility": {
"value": 123,
"unit": "percent",
"band": 123,
"n": 0,
"delta": 123,
"within_noise": true,
"low_sample": true,
"state": "measured",
"note": "<string>"
},
"win_rate": {
"value": 123,
"unit": "percent",
"band": 123,
"n": 0,
"delta": 123,
"within_noise": true,
"low_sample": true,
"state": "measured",
"note": "<string>"
},
"position": {
"value": 123,
"unit": "percent",
"band": 123,
"n": 0,
"delta": 123,
"within_noise": true,
"low_sample": true,
"state": "measured",
"note": "<string>"
},
"appearances": 0,
"price": {
"amount": "<string>",
"currency": "<string>"
},
"stores": [
{
"domain": "<string>",
"cards": 0
}
]
}
],
"next_cursor": "<string>",
"has_more": true
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}Authorizations
An API key from Workspace settings → API keys, sent as Authorization: Bearer <key>.
Path Parameters
Query Parameters
Available options:
7d, 30d, 90d, 180d, 365d, custom Pattern:
^\d{4}-\d{2}-\d{2}$Pattern:
^\d{4}-\d{2}-\d{2}$Available options:
all, yours, others ⌘I
curl
curl "https://api.citino.ai/v1/projects/{projectId}/products" \
-H "Authorization: Bearer $CITINO_API_KEY"import os
import requests
res = requests.get(
"https://api.citino.ai/v1/projects/{projectId}/products",
headers={"Authorization": f"Bearer {os.environ['CITINO_API_KEY']}"},
)
print(res.json())const res = await fetch("https://api.citino.ai/v1/projects/{projectId}/products", {
headers: {
Authorization: `Bearer ${process.env.CITINO_API_KEY}`,
},
});
console.log(await res.json());{
"scope": {},
"coverage": {
"reporting": [
"<string>"
],
"not_reporting": [
"<string>"
]
},
"shopping": {
"answers": 0,
"shopping_answers": 0
},
"items": [
{
"product_key": "<string>",
"title": "<string>",
"yours": true,
"visibility": {
"value": 123,
"unit": "percent",
"band": 123,
"n": 0,
"delta": 123,
"within_noise": true,
"low_sample": true,
"state": "measured",
"note": "<string>"
},
"win_rate": {
"value": 123,
"unit": "percent",
"band": 123,
"n": 0,
"delta": 123,
"within_noise": true,
"low_sample": true,
"state": "measured",
"note": "<string>"
},
"position": {
"value": 123,
"unit": "percent",
"band": 123,
"n": 0,
"delta": 123,
"within_noise": true,
"low_sample": true,
"state": "measured",
"note": "<string>"
},
"appearances": 0,
"price": {
"amount": "<string>",
"currency": "<string>"
},
"stores": [
{
"domain": "<string>",
"cards": 0
}
]
}
],
"next_cursor": "<string>",
"has_more": true
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}