Browse the api reference

Set Connection Write Policy

put/v1/graphs/{graph_id}/connections/{connection_id}/write-policy

Part of Connections.

Choose how a live connection and RoboSystems share the books. 'qb_authoritative', the default, makes QuickBooks the book of record: RoboSystems-originated entries (manual JEs, schedule drafts) publish to QuickBooks when executed or at close. 'shadow' keeps QuickBooks the book of record and writes nothing to it: the close posts nothing locally either, its drafts become shadowed expectations compared with what QuickBooks holds, and its gates are recorded as findings. 'native' is not a choice here: it is what disconnecting or severing leaves, books kept in RoboSystems with no connection to write to. This is the explicit operator opt-in for writing to your books of record.

Authentication

Authenticate in any one of these ways — not all of them:

  • API key in the X-API-Key header.
  • Bearer token in the Authorization header.

Path parameters

NameTypeDescription
graph_idrequiredstringGraph Id
connection_idrequiredstringUnique connection identifier

Request body

Required, application/json.

FieldTypeDescription
write_policyrequiredstring

'qb_authoritative' = QuickBooks authoritative, entries publish to QB; 'shadow' = QuickBooks authoritative and RoboSystems only observes: nothing is written to QuickBooks, the close posts nothing locally, its drafts become shadowed expectations and its gates are findings. 'native', books kept in RoboSystems with no write-back, is what disconnecting or severing leaves, not a choice for a live connection.

One of: qb_authoritative, shadow

Example request

curl
curl -X PUT "https://api.robosystems.ai/v1/graphs/{graph_id}/connections/{connection_id}/write-policy" \
  -H "X-API-Key: $ROBOSYSTEMS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "write_policy": "qb_authoritative"
}'

Responses

200 Successful Response

FieldTypeDescription
connection_idrequiredstring

Unique connection identifier

providerrequiredstring

Connection provider type

entity_idoptionalstring

The entity whose books the connection keeps: the group parent for QuickBooks, the entity a bank feed was connected for (each of its accounts can move to another entity later), none for an external source, whose events name their own.

statusrequiredstring

Connection status

created_atrequiredstring (date-time) | string

Creation timestamp

updated_atoptionalstring (date-time) | string

Last update timestamp

last_syncoptionalstring (date-time) | string

Last sync timestamp

write_policyoptionalstring

Source-of-truth write policy: 'native' (RoboSystems is authoritative; no outbound write-back) or 'qb_authoritative' (QuickBooks is authoritative; RoboSystems-originated entries publish to QB). Set via the write-policy endpoint.

source_nameoptionalstring

External-provider registered source slug — the value the integration stamps on the events it emits. Null for platform providers.

metadatarequiredobject

Provider-specific metadata

StatusMeaning
400Invalid request
401Authentication required
403Access denied
404Resource not found
422Validation Error
429Rate limit exceeded
500Internal server error