Set Connection Write Policy
/v1/graphs/{graph_id}/connections/{connection_id}/write-policyPart 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-Keyheader. - Bearer token in the
Authorizationheader.
Path parameters
| Name | Type | Description |
|---|---|---|
graph_idrequired | string | Graph Id |
connection_idrequired | string | Unique connection identifier |
Request body
Required, application/json.
| Field | Type | Description |
|---|---|---|
write_policyrequired | string | '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: |
Example request
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
| Field | Type | Description |
|---|---|---|
connection_idrequired | string | Unique connection identifier |
providerrequired | string | Connection provider type |
entity_idoptional | string | 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. |
statusrequired | string | Connection status |
created_atrequired | string (date-time) | string | Creation timestamp |
updated_atoptional | string (date-time) | string | Last update timestamp |
last_syncoptional | string (date-time) | string | Last sync timestamp |
write_policyoptional | string | 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_nameoptional | string | External-provider registered source slug — the value the integration stamps on the events it emits. Null for platform providers. |
metadatarequired | object | Provider-specific metadata |
| Status | Meaning |
|---|---|
| 400 | Invalid request |
| 401 | Authentication required |
| 403 | Access denied |
| 404 | Resource not found |
| 422 | Validation Error |
| 429 | Rate limit exceeded |
| 500 | Internal server error |