activities

Check Duplicate

Duplicate detection right after a poster scan.

2026-05-29 — Routed through the shared activity_dedupe_service so WhatsApp poster scans, in-app PosterUpload, and admin bulk-import all hit the same matching logic (title fuzz + date proximity + venue/city + ticket URL + organiser phone + performers + image hashes when available). Response shape preserved for the existing PosterUpload.js consumer; new fields (confidence, matched_fields) are additive.

Body: { "title": string, # required "date_time": ISO datetime, # optional "venue_name": string, # optional "city": string, # optional "country": string, # optional "ticket_url": string, # optional (decisive) "organiser_phone": string, # optional "performers": list, # optional (lineup) "cost": number, # optional "image_hash": string, # optional — SHA256 of poster bytes "perceptual_hash": string, # optional — aHash hex }

Returns: { "matches": [ { "id": uuid, "title": string, "date_time": ISO, "venue_name": string, "city": string, "slug": string|null, "claim_status": string, "is_claimable": bool, "cover_image": url|null, "similarity": float, # 0..1 — legacy field "confidence": 'high'|'medium'|'low', # new "matched_fields": list[string], # new "match_reason": string, }, ... ] }

post/api/activities/check-duplicate

Request

  • Base URL: https://api.activitia.net (the document declares no server; this is the origin it was published from)
  • URL: https://api.activitia.net/api/activities/check-duplicate
  • Auth: none declared

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.