Delete news article for entity

View as Markdown

Hard-deletes a directly joined news article from every feed and returns the deleted News row. Product/service-joined list rows 404 here; to remove an article from one feed, PATCH the entityJoinId set instead.

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

Path parameters

newsIdintegerRequired
News article row id scoped to this entity news join

Query parameters

idstringOptionalformat: "uuid"

Owner-scoped resource UUID selector.

slugstringOptionalformat: "^[a-z0-9_-]+$"<=255 characters

Owner-scoped resource slug selector.

deleteModeenumOptionalDefaults to hard

Delete mode: news supports only ‘hard’ (defaults to ‘hard’); ‘soft’ is rejected with 422

Allowed values:
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
idinteger

Type-safe identifier for news articles

titlestring

Article headline; the headline field is title

authorstring or nullOptional
categorystring or nullOptional
createdAtdatetime or nullOptional
excerptstring or nullOptional

Article summary from the source publication feed; null means the feed supplied no description (expected absence, not an error) — full text is NewsDetail.content

externalNewsArticleboolean or nullOptional
newsImageThumbnailstring or nullOptional
newsUrlOriginalstring or nullOptional
pendingApprovalinteger or nullOptional
publicationstring or nullOptional
publishedAtdatetime or nullOptional
slugstring or nullOptionalformat: "^[a-z0-9_-]+$"<=255 characters
Canonical lowercase URL slug for the resource
updatedAtdatetime or nullOptional

Errors

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