Duplicates
NeuralRepo automatically detects potential duplicate ideas using semantic similarity. The duplicates API lets you review, dismiss, or merge detected pairs.
List Duplicates
Section titled “List Duplicates”GET /api/v1/ideas/duplicates
Returns pairs of ideas that NeuralRepo has flagged as potential duplicates.
curl https://neuralrepo.com/api/v1/ideas/duplicates \ -H "X-API-Key: nrp_YOUR_KEY"const res = await fetch( "https://neuralrepo.com/api/v1/ideas/duplicates", { headers: { "X-API-Key": "nrp_YOUR_KEY" } });const duplicates = await res.json();Response 200 OK
{ "duplicates": [ { "id": 1, "idea_id": 58, "duplicate_of_id": 42, "similarity_score": 0.94, "status": "pending", "created_at": "2026-03-22T14:00:00Z" } ]}The similarity_score field is a score between 0 and 1 indicating how closely the two ideas match.
Dismiss Duplicate
Section titled “Dismiss Duplicate”POST /api/v1/ideas/duplicates/:id/dismiss
Marks a duplicate pair as not-a-duplicate. The pair will no longer appear in the duplicates list.
curl -X POST https://neuralrepo.com/api/v1/ideas/duplicates/1/dismiss \ -H "X-API-Key: nrp_YOUR_KEY"const res = await fetch( "https://neuralrepo.com/api/v1/ideas/duplicates/1/dismiss", { method: "POST", headers: { "X-API-Key": "nrp_YOUR_KEY" }, });Response 200 OK
{ "success": true}Merge Duplicate
Section titled “Merge Duplicate”POST /api/v1/ideas/duplicates/:id/merge
Merges the duplicate pair. One idea absorbs the other — the absorbed idea’s body, tags, links, and relations are folded into the surviving idea. The absorbed idea is archived.
curl -X POST https://neuralrepo.com/api/v1/ideas/duplicates/1/merge \ -H "X-API-Key: nrp_YOUR_KEY"Response 200 OK
{ "success": true}Workflow
Section titled “Workflow”A typical duplicate review workflow:
- List duplicates with
GET /ideas/duplicates. - For each pair, decide whether to dismiss (false positive) or merge (true duplicate).
- Dismissed pairs are hidden from future listings.
- Merged pairs consolidate content and archive the duplicate.
Status Codes
Section titled “Status Codes”| Status | Meaning |
|---|---|
200 OK | Duplicates listed, dismissed, or merged |
401 Unauthorized | Missing or invalid auth |
404 Not Found | Duplicate pair not found |
409 Conflict | Merge conflict (e.g., one idea already archived) |