Skip to main content

Changesets

A changeset is a draft that stages edits to content resources and applies them together on commit.

A changeset holds a set of staged changes, one per content resource it touches, each a create, update, or delete. It records who opened it, its current status, and the timestamps of each transition it passes through. Committing a changeset applies every staged change at once, so mutually dependent edits across many resources land in a single step. Each committed change increments the affected resource's version. A changeset is itself an organization-scoped resource, addressed by an id prefixed CHG_, and reachable through the API, the MCP server, or the web app.

Status​

A changeset has a status, one of four values that reflects its stage.

  • draft is a private working changeset. You can stage changes into it and commit it. Only the user who created it can see it, unless the platform or the Simba agent created it rather than a user.
  • proposed is a changeset submitted for review. You can still stage changes into it and commit it. Every member of the organization can see it. The user who created it can move it back to draft, and only they can.
  • committed is a changeset whose staged changes have been applied. It is terminal and read-only.
  • declined is a proposed changeset the reviewer rejected without committing. It is terminal and read-only, and every member of the organization can see it.

Changes​

Each entry in changes is a staged edit to one content resource. It carries the resource's full payload plus the overlay fields below that describe how the edit relates to the committed state. Every field is system-generated. Staging a change is a side effect of creating, updating, or deleting the underlying resource within the changeset.

FieldTypeDescription
operationenumThe kind of edit. One of create, update, or delete.
resourceKindenumThe kind of resource this change targets. One of Dashboard, Folder, Integration, Lookup, Mapper, Parser, Detection, Connector, ContentPack, ContentPackInstallation, Table, Union, View, WebhookConfig, HttpToolConfig, McpConfig, or Skill.
fieldConflictsarray<object>Per-field conflicts detected against the latest committed version of the resource. Null when there is no conflict. See Field conflicts.
latestCommittedVersionintegerVersion number of the resource as last committed outside this changeset. Null when the resource has no committed version.
contentPackIdstringThe content pack this change targets, when the edit is to pack content. Prefixed PAK_.
parentIntegrationIdstringOn a Mapper or Parser change, the integration the resource belongs to. Prefixed INT_.

Field conflicts​

Each entry in a change's fieldConflicts records one field where the staged edit diverges from the resource's latest committed state.

FieldTypeDescription
fieldNamestringName of the conflicting field.
baseValueunknownThe field's value at the version the change was based on. Null when absent.
latestValueunknownThe field's value in the latest committed version. Null when absent.
proposedValueunknownThe field's value the staged change would set. Null when absent.
isMultilinebooleanWhether the field holds multiline text. The web app uses it to render the conflict.

Validation result​

Validating a changeset returns a validation result, the shape a full-batch commit check produces against a draft or proposed changeset.

FieldTypeDescription
validbooleanWhether every staged change passes commit validation.
errorsarray<object>The validation errors found. Empty when valid is true.

Each entry in errors names one problem.

FieldTypeDescription
resourceKindstringThe kind of resource the error is on.
resourceNamestringThe name of the resource the error is on.
messagestringWhat is wrong.
resourceIdstringThe resource the error is on. Absent for a resource with no ID yet.
fieldstringThe specific field the error is on, when the error is field-scoped.

Inputs​

FieldTypeRequiredDescription
namestringOptionalDisplay name of the changeset. An unnamed changeset shows as "Untitled changeset" in the web app.
descriptionstringOptionalFree-text description of the changeset.

Outputs​

FieldTypeDescription
statusenumLife-cycle state of the changeset. One of draft, proposed, committed, or declined. See Status for what each means.
changesarray<object>The staged changes the changeset holds, one per resource it touches. See Changes. Present when a changeset is fetched by ID.
createdByChatIdstringThe Simba agent chat that created the changeset, prefixed CHT_. Null when a user created it directly.
proposedAttimestampWhen the changeset moved to proposed. Null when it was never proposed.
proposedByUserIdstringThe user who proposed the changeset, prefixed USR_. Null when it was never proposed.
committedAttimestampWhen the changeset was committed. Null until committed.
committedByUserIdstringThe user who committed the changeset, prefixed USR_. Null until committed.
declinedAttimestampWhen the changeset was declined. Null unless declined.
declinedByUserIdstringThe user who declined the changeset, prefixed USR_. Null unless declined.

Plus the common resource fields. createdByUserId is null when the platform or the Simba agent created the changeset rather than a user.

  • Content, the resources a changeset stages edits to.
  • Spaces, the boundary the content a changeset edits lives within.