Patch entity detail
Authentication
User bearer token: Supabase or Clerk session JWT, Clerk OAuth access token, or Clerk personal API key
Admin API key for system-to-system write operations
Query parameters
Owner-scoped resource UUID selector.
Owner-scoped resource slug selector.
Provider name for provider-native IDs or slugs.
Provider-native source ID.
Provider-native source slug.
Actor type; inferred as agent when agentChassis and agentModel are supplied, or as employee from an authenticated user JWT session.
Agent chassis token for agent-authored writes.
Agent model id for agent-authored writes.
Source-backed reason for overriding the returned gate requirement.
Request
Allow intentional money-like text without a currency marker; prefer —from-file.
Brand name. For Product or Service records, this must name a distinct offering and must not exactly match the joined provider entity. If an eponymous offering has no distinct product-line brand, use a descriptor/category such as Consumer Sedans or Light Industrial Vehicles instead.
Preferred detail-update slug rename field. Omit on create; when slug is also sent both fields must normalize to the same value.
Operating status. Required on create; omitted update values preserve existing status. Use Acquired Subsidiary when an acquired entity still operates; use Acquired only when it is terminal, folded, or closed. Closed and terminal Acquired keep attached person joins current; update association endDate separately with a closing-date estimate.
Entity URL slug. Create may omit it when the server can derive one; detail updates may rename through this field or newSlug. Company-class slugs are one shared namespace and must end with the HQ location suffix (brand-city-state-country); a held slug returns 409. Product and Service slugs derive from nameBrand, stay scoped to the provider pair, and may repeat across providers; reusing a slug under the same provider or one held by a non-product entity returns 409.
Visibility and verification flags; omitted update fields preserve existing values.
Concrete entity type such as Company, Investment Firm, Product, or Service. Product and Service records always pair with a current productService provider relationship: creates write the join atomically via productServiceProviderId, the sole provider join cannot be removed or re-pointed, and moving an offering to a different provider means delete and recreate.
Response
Entity enrichment: addresses, classification, funding summary, text, and URL links.
Combined research disclosure: governed detail rows, snippets, and accelerator participation.
Sub-route eligibility computed once at the persistence boundary.