Submit a signal
import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/signals/"
payload = {
"feedback": "We need to cover the EU refund rules in the knowledge base",
"is_positive": False,
"context": { "additional_details": "Several customer calls last week asked about EU refunds and we had nothing to point them to." }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
feedback: 'We need to cover the EU refund rules in the knowledge base',
is_positive: false,
context: {
additional_details: 'Several customer calls last week asked about EU refunds and we had nothing to point them to.'
}
})
};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/signals/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/signals/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"feedback": "We need to cover the EU refund rules in the knowledge base",
"is_positive": false,
"context": {
"additional_details": "Several customer calls last week asked about EU refunds and we had nothing to point them to."
}
}
'{
"id": "8f14e45f-ceea-467f-a8d9-23ad7f6b3a90",
"created_at": "2026-06-11T09:30:00Z",
"updated_at": "2026-06-11T09:30:00Z",
"given_by": {
"id": "1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed",
"email": "[email protected]"
},
"status": "to_review",
"feedback": "We need to cover the EU refund rules in the knowledge base",
"context": {
"additional_details": "Several customer calls last week asked about EU refunds and we had nothing to point them to."
},
"is_positive": false
}{
"error": "User not found"
}{
"error": "Authentication credentials were not provided."
}{
"error": "You do not have permission to perform this action."
}Signals
Submit a signal
Submit a signal about the project’s content: the signal text itself,
plus optional context.additional_details with extra context for the
reviewer. The signal shows up in the review UI for domain experts.
Signal Types
| Type | is_positive Value | Description |
|---|---|---|
| Thumbs up | true | Positive signal |
| Thumbs down | false | Negative signal |
| Neutral | null | Neutral or no sentiment |
POST
/
projects
/
{project_id}
/
signals
/
Submit a signal
import requests
url = "https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/signals/"
payload = {
"feedback": "We need to cover the EU refund rules in the knowledge base",
"is_positive": False,
"context": { "additional_details": "Several customer calls last week asked about EU refunds and we had nothing to point them to." }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
feedback: 'We need to cover the EU refund rules in the knowledge base',
is_positive: false,
context: {
additional_details: 'Several customer calls last week asked about EU refunds and we had nothing to point them to.'
}
})
};
fetch('https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/signals/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://eu.app.clarifeye.ai/api/v1/projects/{project_id}/signals/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"feedback": "We need to cover the EU refund rules in the knowledge base",
"is_positive": false,
"context": {
"additional_details": "Several customer calls last week asked about EU refunds and we had nothing to point them to."
}
}
'{
"id": "8f14e45f-ceea-467f-a8d9-23ad7f6b3a90",
"created_at": "2026-06-11T09:30:00Z",
"updated_at": "2026-06-11T09:30:00Z",
"given_by": {
"id": "1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed",
"email": "[email protected]"
},
"status": "to_review",
"feedback": "We need to cover the EU refund rules in the knowledge base",
"context": {
"additional_details": "Several customer calls last week asked about EU refunds and we had nothing to point them to."
},
"is_positive": false
}{
"error": "User not found"
}{
"error": "Authentication credentials were not provided."
}{
"error": "You do not have permission to perform this action."
}Authorizations
BearerAuthTokenAuth
Use Authorization: Bearer
Path Parameters
UUID of the project
Body
application/json
Response
Signal submitted successfully
User who submitted the signal
Show child attributes
Show child attributes
to_review: Signal pending review (default)reviewed: Signal has been reviewed
Available options:
to_review, reviewed Signal text comment
Free-form context, echoed back as submitted at creation
Show child attributes
Show child attributes
true: Positive signalfalse: Negative signalnull: Neutral
The user message that was responded to (computed field)
Title of the conversation (computed field)
Auto-generated suggested action type
Auto-generated suggested action data