Reset Brand

Clear all pipeline data for a brand while keeping the brand registration.

POSThttps://api.boringmarketing.com/brands/{brand_id}/reset

Clears all pipeline data (families, evidence, opportunities, queue, insights, briefs, executions, pipeline runs) but keeps the brand registration and any fields populated via enrichment. Useful when you want to re-run discovery from scratch.

Path parameters

brand_idstringrequired

The brand UUID.

Response

Returns a breakdown of how many rows were cleared per table:

{
  "brand_id": "ea502f67-338b-47e4-a245-5c4eea8bd8d2",
  "cleared": {
    "evidence": 1243,
    "opportunities_v2": 87,
    "queue": 42,
    "insights": 12,
    "families_v2": 47,
    "pipeline_runs": 6,
    "briefs_v2": 3,
    "executions": 2
  }
}

cleared may be an empty object ("cleared": {}) when the database is unavailable and the handler falls back to in-memory cache cleanup only. This is not an error — it means there were no DB rows to delete (the in-memory caches are still wiped).

Errors

StatusMeaning
404Brand not found, or not owned by the caller.
409A pipeline run is currently active for the brand (any kind, not just pipeline-modifying ones). Header: X-Running-Run-Id. Active runs older than 15 minutes are auto-expired and do not count as active.
422brand_id is not a valid UUID.

Example

curl -X POST \
  -H "X-API-Key: $BM_API_KEY" \
  https://api.boringmarketing.com/brands/$BRAND_ID/reset

After resetting, trigger a new pipeline run with POST /brands/{id}/analyze to rebuild all data from scratch.