Enqueue media retrofit batch

View as Markdown

Sweeps the image corpus in small serial batches, generating missing WebP/AVIF variants and (when dryRun=false) clearing entity/person/news references whose master no longer exists. BLOG missing masters remain unchanged. The run stops when the requested quantity is processed or the corpus is exhausted.

Authentication

AuthorizationBearer

User bearer token: Supabase or Clerk session JWT, Clerk OAuth access token, or Clerk personal API key

OR
X-API-Keystring

Admin API key for system-to-system write operations

Query parameters

targetDomainenumOptional

Media domain to retrofit: ENTITY, PERSON, NEWS, or BLOG (sweep only). Defaults to ENTITY.

Allowed values:
targetCountintegerOptional

Requested quantity of images to process before stopping; omit to sweep the entire corpus continuously in checkpointed segments until it is exhausted.

dryRunbooleanOptional

When true (default) dangling references are reported but not cleared; set false to clear entity, person, or news references whose master object no longer exists. BLOG references are never cleared by this job.

targetIdlist of stringsOptional

Optional target ids limiting a directly targetable domain; repeat for multiple ids.

sourceTypeenumRequired
Write provenance source type.
sourceDetailstringRequired
Source detail or reviewer reference for the write.
sourceProviderstringOptional

Provider name for provider-native IDs or slugs.

sourceProviderIdstringOptional

Provider-native source ID.

sourceProviderSlugstringOptional

Provider-native source slug.

actorTypeenumOptional

Actor type; inferred as agent when agentChassis and agentModel are supplied, or as employee from an authenticated user JWT session.

Allowed values:
agentChassisstringOptional

Agent chassis token for agent-authored writes.

agentModelstringOptional

Agent model id for agent-authored writes.

Response

OK
jobIdstringformat: "uuid"

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
406
Not Acceptable Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error