Obtenir un prompt
curl --request GET \
--url https://www.qwairy.co/api/v1/brands/{brandId}/prompts/{promptId} \
--header 'Authorization: <authorization>'import requests
url = "https://www.qwairy.co/api/v1/brands/{brandId}/prompts/{promptId}"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://www.qwairy.co/api/v1/brands/{brandId}/prompts/{promptId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Prompts
Obtenir un prompt
Récupérez le détail d’un prompt précis.
GET
https://www.qwairy.co
/
api
/
v1
/
brands
/
{brandId}
/
prompts
/
{promptId}
Obtenir un prompt
curl --request GET \
--url https://www.qwairy.co/api/v1/brands/{brandId}/prompts/{promptId} \
--header 'Authorization: <authorization>'import requests
url = "https://www.qwairy.co/api/v1/brands/{brandId}/prompts/{promptId}"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://www.qwairy.co/api/v1/brands/{brandId}/prompts/{promptId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Renvoie un prompt avec ses indicateurs au niveau des réponses et jusqu’à 100 requêtes Query Fan-Out agrégées. Utilisez
Exemple de réponse avec
Consultez Limites de débit pour la gestion des nouvelles tentatives.
include=details pour les agrégats de mentions et de citations.
string
requis
Jeton bearer. Exemple :
Bearer qw-api-xxxParamètres de chemin
string
requis
L’identifiant unique de la marque
string
requis
L’identifiant unique du prompt
Paramètres de requête
string
Indiquez
details pour enrichir le prompt avec les agrégats de concurrents, de sources, de mentions de la marque et de stabilité des sources. Sans ce paramètre, seuls les champs de base sont renvoyés.Réponse
L’objet de base inclutanswersCount, le taux de mention, le taux de citation, le avgSentiment SELF et ces champs de Query Fan-Out :
queryFanOutsTotal: nombre total de requêtes normalisées distinctesqueryFanOutsLimit: nombre maximal de lignes renvoyées, actuellement100queryFanOuts:query,occurrences,uniqueAnswers,modelsbruts,firstSeenetlastSeen
personas (id, name, description), modelIds, monitoringEnabled, la frequency effective (NONE, DAILY, WEEKLY ou MONTHLY), frequencyInherited lorsque cette fréquence est héritée de la valeur par défaut de la marque, et boostCount, le nombre de réponses demandées par modèle et par exécution.
Exemple de réponse
{
"success": true,
"prompt": {
"id": "prompt_01",
"text": "Which analytics platforms support warehouse exports?",
"topic": {
"id": "topic_01",
"name": "Data exports"
},
"type": "TOFU",
"tags": [
{ "id": "tag1", "name": "reviews" },
{ "id": "tag2", "name": "comparison" }
],
"personas": [
{ "id": "persona_01", "name": "Data lead", "description": null }
],
"modelIds": ["openai-gpt-6.1-sol"],
"monitoringEnabled": true,
"frequency": "WEEKLY",
"frequencyInherited": true,
"boostCount": 1,
"answersCount": 2,
"mentionRate": 50.0,
"sourceRate": 25.0,
"avgSentiment": 78.5,
"queryFanOutsTotal": 1,
"queryFanOutsLimit": 100,
"queryFanOuts": [
{
"query": "analytics warehouse export integrations",
"occurrences": 2,
"uniqueAnswers": 2,
"models": ["openai-gpt-6.1-sol"],
"firstSeen": "2026-07-18T10:00:00.000Z",
"lastSeen": "2026-07-19T10:00:00.000Z"
}
],
"createdAt": "2026-07-01T10:00:00.000Z",
"lastGeneratedAt": "2026-07-19T10:00:00.000Z"
}
}
Exemple de réponse avec include=details
{
"success": true,
"prompt": {
"id": "prompt_01",
"text": "Which analytics platforms support warehouse exports?",
"topic": {
"id": "topic_01",
"name": "Data exports"
},
"type": "TOFU",
"tags": [
{ "id": "tag1", "name": "reviews" },
{ "id": "tag2", "name": "comparison" }
],
"personas": [
{ "id": "persona_01", "name": "Data lead", "description": null }
],
"modelIds": ["openai-gpt-6.1-sol"],
"monitoringEnabled": true,
"frequency": "WEEKLY",
"frequencyInherited": true,
"boostCount": 1,
"answersCount": 2,
"mentionRate": 50.0,
"sourceRate": 25.0,
"avgSentiment": 78.5,
"queryFanOutsTotal": 1,
"queryFanOutsLimit": 100,
"queryFanOuts": [],
"createdAt": "2026-07-01T10:00:00.000Z",
"lastGeneratedAt": "2026-07-19T10:00:00.000Z",
"competitors": [
{ "name": "Acme Analytics", "mentions": 3, "relationship": "SELF" },
{ "name": "Rival Labs", "mentions": 8, "relationship": "DIRECT" }
],
"competitorsCount": 2,
"competitorMentionsTotal": 11,
"brandMentioned": true,
"brandMentionCount": 3,
"sources": [
{ "domain": "acme.example", "citations": 2, "isSelf": true },
{ "domain": "reviews.example", "citations": 4, "isSelf": false }
],
"sourcesCount": 2,
"sourceCitationsTotal": 6,
"sourceStability": 50.0
}
}
Erreurs
| Statut | Signification |
|---|---|
401 | Jeton d’API manquant ou invalide |
404 | Marque ou prompt introuvable |
429 | Limite de débit dépassée ; respectez Retry-After |

