POST /api/v1/pairwise compares creatives directly instead of scoring them independently. Use
it when you already know which matchups need a decision.
Every pair gets exactly five blinded Claude Haiku votes, with presentation order balanced 3/2 to
control for position bias. The response returns every vote and every raw response, so the result
is auditable rather than a black-box verdict.
This is not the same mechanism as
refine_close_pairs on the Rank API. Refinement is
automatic and fires only on near-ties that Kettio detects. The Pairwise API runs a full panel on
exactly the pairs you name, whatever their scores.Request
/api/v1/rank, so an audience_id works here too.
Full schemas are in the Pairwise API reference.
Outcomes and billing
Pairwise usage is reported separately from Rank API usage. The Rank API’s rate limit and credit
accounting are based on scoring evaluations;
pairwise_evaluations are counted on their own.
Use it as a controlled cascade
The reason to keep the two endpoints separate is that it lets you run a clean experiment. The pattern:1
Rank with refinement off
Call
/api/v1/rank with refine_close_pairs: false so the SSR scores stay frozen.2
Pick the comparisons before you look at outcomes
Choose which pairs to send to
/api/v1/pairwise — and choose your consensus threshold — up
front, not after seeing results.3
Override only on consensus
Replace the SSR winner only when the panel clears the threshold you preregistered.
Choosing between the two
Use Rank
You have a batch and need an ordering. You do not know in advance which comparisons matter.
Use Pairwise
You have two specific creatives and need to know which one wins, with the votes on record.