---
title: "Rank AI-visibility audit prompts"
method: GET
path: "/v1/trust/audit/prompts"
tags: ["Trust"]
---

# Rank AI-visibility audit prompts

`GET /v1/trust/audit/prompts`

## Request

- Base URL: `https://api.prod.keyban.io`
- URL: `https://api.prod.keyban.io/v1/trust/audit/prompts`
- Auth: API key in header `X-Api-Key`

Rank the prompts of the latest audit of every active tracked product, best-performing first: where the catalogue surfaces best in generative-engine answers, per prompt and per shopping intent (generic purchase intents and proof-seeking intents such as origin or certification). `intents` (comma-separated) keeps only the given intent families; omitted, every prompt is ranked and `total` counts them all. Each item names the `leader` of its prompt: the tracked product itself when its best rank across the engines ties the best rank seen (the same reading as `bestRank`), otherwise the best-ranked competitor domain; null on snapshots captured before leaders were recorded.

## Query parameters

- `applicationId` string, uuid, required
- `limit` integer
- `offset` integer
- `intents` string[]

## Response `200`

- AuditPromptRankingDto
  - `data` object[], required: Prompts of the latest snapshot of every active subject, best-performing first (visibility, then competitive). Capped by `limit`.
    - `text` string, required: Purchase-intent prompt, phrased as a shopper would ask an AI assistant, frozen at recruitment so weekly scores stay comparable.
    - `intent` 'category' | 'brand' | 'comparison' | 'problem' | 'quality' | 'origin' | 'warranty' | 'certification', required: Shopping intent family the query covers. One query per family max, frozen at recruitment. Generic purchase intents: `category` (the product type or use case), `brand` (this brand specifically), `comparison` (this product against alternatives), `problem` (a need the product solves). Proof-seeking intents — where certified product data has a chance to weigh: `quality` (proven quality or reliability), `origin` (provenance, made-in), `warranty` (guarantee, after-sales), `certification` (certified or verified product claims).
    - `subjectId` string, uuid, required: UUID of the audit subject the prompt belongs to.
    - `passportId` string, uuid, required: UUID of the DPP passport of the audited product.
    - `productName` string, required: Commercial name of the audited product.
    - `visibility` integer, required: Visibility score (0-100) the prompt earned in the latest audit: 100 when the product ranked in the top 3, 50 in the top 10, 0 beyond.
    - `competitive` integer, required: Competitive score (0-100) the prompt earned in the latest audit: the product's rank weight against every domain seen on the prompt.
    - `bestRank` integer, nullable, required: Best (lowest) rank the product achieved on this prompt across the engines that answered it. Null when no engine surfaced the product at all.
    - `leader` object, nullable, required: Who holds the first place on this prompt. The tracked product itself whenever its best rank across the engines ties the best rank seen — the same reading as `bestRank` — otherwise the best-ranked competitor. Null when the snapshot predates leader tracking or when no engine returned a result.
      - `domain` string, required: Domain ranked first on this prompt across the engines that answered it.
      - `isSelf` boolean, required: True when the tracked product itself holds the first place.
    - `auditedAt` string, date-time, required: When the snapshot carrying these results was captured.
  - `total` integer, required: Total prompts available across the latest snapshots, independent of `limit`/`offset`.
  - `limit` integer, required: Page size applied (echo of the request).
  - `offset` integer, required: Number of prompts skipped before this page (echo of the request).

---

[API](https://skmtc.dev/keyban/apis/keyban-rest-apis.md) · [All operations](https://skmtc.dev/keyban/apis/keyban-rest-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/keyban/apis/keyban-rest-apis/revisions/0bb79a1da961?raw)
