Save a team's design-system changes
Atomically saves partial color, typography, layout, tone, rule, and asset-guidance changes. Omitted fields stay unchanged; null clears optional values. Entries in upserts without IDs create records. changes lists changed colors, rules, and assets in that collection order, with upserts then removals in request order, followed by typography, layout, and tone; unchanged entries are omitted. Remove archives a record. Pass the current expectedRevision (0 for the first save); a stale revision returns 409. Reuse operationId and identical input after an uncertain response. Upload asset bytes separately, then reference the returned attachmentId. A save does not modify any Space’s site files. Requires the team context beta.
/v1/teams/{teamId}/design-system/changesAuthorizationBearer token · headerrequiredBetter Auth session, OAuth access token, OAuth client-credentials token, or sfm_ Space machine credential.
AuthorizationOAuth2 access token · headerrequiredOAuth 2.0 with explicit Spacefast capability scopes. Use the authorization-code flow for people and client credentials for machines.
spaces:writeteamIdstringrequiredapplication/jsonoperationIdstringrequiredexpectedRevisionintegerrequiredchangesobjectrequiredShow propertiesHide properties
colorsobjectShow propertiesHide properties
upsertobject[]Show propertiesHide properties
objectnamestringhexstringusagestring | nullShow propertiesHide properties
stringnullidstring<uuid>removestring<uuid>[]typographyobjectShow propertiesHide properties
headingsobject | nullShow propertiesHide properties
fontSizePxnumberrequiredlineHeightPxnumberrequiredfontFamilystringrequiredh2object | nullShow propertiesHide properties
fontSizePxnumberrequiredlineHeightPxnumberrequirednullh3object | nullShow propertiesHide properties
fontSizePxnumberrequiredlineHeightPxnumberrequirednullnullbodyobject | nullShow propertiesHide properties
fontSizePxnumberrequiredlineHeightPxnumberrequiredfontFamilystringrequirednullheadingCasestring | nullShow propertiesHide properties
stringnulllayoutobjectShow propertiesHide properties
pageWidthPxnumber | nullShow propertiesHide properties
numbernullcornerRadiusPxnumber | nullShow propertiesHide properties
numbernullsectionSpacingPxnumber | nullShow propertiesHide properties
numbernullvoiceobjectShow propertiesHide properties
tonestring | nullShow propertiesHide properties
stringnullrulesobjectShow propertiesHide properties
upsertobject[]Show propertiesHide properties
objecttextstringexamplestring | nullShow propertiesHide properties
stringnullidstring<uuid>removestring<uuid>[]assetsobjectShow propertiesHide properties
upsertobject[]Show propertiesHide properties
objectattachmentIdintegercategorystring | nullShow propertiesHide properties
stringnullusagestring | nullShow propertiesHide properties
stringnullaltTextstring | nullShow propertiesHide properties
stringnullidstring<uuid>removestring<uuid>[]Response for status 200
$schemastring<uri>Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.
dataobjectrequiredShow propertiesHide properties
revisionintegerrequiredactionIdstring<uuid> | nullrequiredShow propertiesHide properties
string<uuid>nullunchangedbooleanrequiredchangesobject[]requiredShow propertiesHide properties
objectidstringrequiredtypestringrequiredcolortypographylayouttoneruleassetactionstringrequiredcreatedupdatedremovedrestoredProblem details (RFC 9457). Any 4xx/5xx response is one application/problem+json document.
$schemastring<uri>Canonical JSON Schema URL for this response body. The server also sends it in the Link: rel="describedby" response header.
typestringrequiredProblem type URI resolving to the error docs page. The server derives it mechanically from code against the docs origin.
titlestringrequiredShort human-readable summary of the problem type. The server derives it mechanically from code.
statusintegerrequiredHTTP status code of this response, repeated in the body.
detailstringrequiredHuman-readable failure explanation for this occurrence.
codestringrequiredStable snake_case error code naming the failed public contract.
pointerstringRFC 6901 JSON Pointer into the failing request field, for example "/files/37/path", on validation failures.
detailsobjectMachine-readable context for the error code.
fixstringOne sentence on what to do about this error code, the same text as the type page. Read it before retrying.
suggestionsstring[]Actionable recovery steps safe to show in dashboards, SDKs, and CLI output.
nextstring[]Copy-pasteable commands or API requests an agent can run next.
requestIdstringrequiredThe request id to quote when contacting support.