Skip to main content
A reference shows the fields from its last resolve until something changes them. Your app has two ways to change them: Either way, the update applies to the workspace’s shared record for that object, so every chip, link and card that shows it in that workspace updates at once, in every conversation.

Revalidate

Pass the reference kind and the externalId your resolve returned. Reintersect queues a resolve of the stored URL for the workspace the client acts for and answers 202 at once; the new fields appear when your resolve answers. To update the same object in several workspaces, call it once per install.

Push

fields accepts title, summary, subtitle, icon, status, updatedAt, url, visibility and block. Fields you leave out keep their current values; null clears an optional field. block replaces the whole rendered card, as { tree, actions }, or removes it with null; to change a card’s props, revalidate instead so the SDK renders it. version is a whole number that increases every time the object changes on your side. A timestamp in milliseconds or a revision counter both work. Reintersect keeps the highest version it has stored and ignores a push with a lower version, so pushes that arrive out of order can’t overwrite fresher data. A push with the same version is applied, so sending the same push again is safe. An ignored push isn’t an error: the response is { applied: false, version } with the version Reintersect already holds.

Calling from handlers and routes

Inside a handler, use the reintersect client from the context; it’s already authorized for the install. Declare references:write on the piece that pushes:
Outside a delivery, for example in a route that receives your own service’s webhooks, get a client for the install with reintersect.forInstall(installId), or create one with createReintersectClient(app, { installId }). Your app stores install ids, never tokens: the SDK mints a short-lived install token with your app’s client credentials, or, on Reintersect hosting, lets the gateway add it. See Client. The kind is typed from the app: pushing to a kind the app doesn’t include is a type error.

Over HTTP

Both operations are plain API calls if you don’t use the SDK:

Automatic refresh

A restricted reference is resolved again for a member who views it once their last answer is more than 30 minutes old. A public reference keeps the fields from its last successful resolve until you push or revalidate. Links pasted after an update reuse the shared record and show the current fields immediately.