Rebuild the tag index for every case in every project from its title
POST
/v1/admin/reindex-tags
const url = 'https://beta-api.plune.ai/v1/admin/reindex-tags';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://beta-api.plune.ai/v1/admin/reindex-tags \ --header 'Authorization: Bearer <token>'The migration creates the tag index empty — the parser exists only in TypeScript — while the titles already there carry @tags. This walks every case of every project and rewrites its tag rows with the same parser the case write path uses (AC-27). reindexed counts the cases whose set of tags changed; a second run reports 0 everywhere. Owner-only, like file-unfiled; everyone else gets 404.
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”How many cases changed, per project
Media type application/json
object
projects
required
Array<object>
object
projectId
required
string
reindexed
required
Cases whose set of tags changed in this run.
integer
Example
{ "projects": [ { "projectId": "userA::default", "reindexed": 1804 }, { "projectId": "userB::default", "reindexed": 0 } ]}No / invalid token or session
The caller does not own the application
Media type application/json
object
error
required
string
Example generated
{ "error": "example"}Rate-limited: either the per-route throttle or a tenant quota. Retry-After carries the seconds until the window rolls over.
Media type application/json
object
error
required
string
Example generated
{ "error": "example"}Headers
Section titled “Headers ” Retry-After
integer
Seconds until the window rolls over