Skip to content
Docs
Esc
↑↓navigate↵open⌘Jpreview

Read a team's saved design-system values

Returns active colors, typography, layout, voice/rules, and Media Library assets with stable entry IDs. Use the numeric revision as expectedRevision when saving or undoing; actionId identifies the last undoable action. An absent system has document null and revision 0. Uploads, undo history, archived values, and retry receipts are excluded. Missing attachments retain their entry IDs and guidance with available false and url null, so they can be replaced or removed. The design system is team-wide. For compiled Markdown and unchanged-context detection, use getTeamAgentContext; its designSystem.revision is a separate context fingerprint.

GET/v1/teams/{teamId}/design-system
Authorization
AuthorizationBearer token · headerrequired

Better Auth session, OAuth access token, OAuth client-credentials token, or sfm_ Space machine credential.

or
AuthorizationOAuth2 access token · headerrequired

OAuth 2.0 with explicit Spacefast capability scopes. Use the authorization-code flow for people and client credentials for machines.

Scopes:spaces:read
Path parameters
teamIdstringrequired
min length 1
Responses
200

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.

dataobjectrequired
Show properties
revisionintegerrequired
min 0 · max 9007199254740991
actionIdstring<uuid> | nullrequired
Show properties
Any of:
string<uuid>
string<uuid>
null
null
documentobject | nullrequired
Show properties
Any of:
object
colorsobject[]required
Show properties
Array of object
namestringrequired
min length 1 · max length 80
hexanyrequired
usagestring | null
Show properties
Any of:
string
string
null
null
idstring<uuid>required
matches ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
typographyobjectrequired
Show properties
headingsobject | null
Show properties
Any of:
object
fontSizePxnumberrequired
min 0 · max 100000
lineHeightPxnumberrequired
min 0 · max 100000
fontFamilystringrequired
min length 1 · max length 255
h2object | null
Show properties
Any of:
object
fontSizePxnumberrequired
min 0 · max 100000
lineHeightPxnumberrequired
min 0 · max 100000
null
null
h3object | null
Show properties
Any of:
object
fontSizePxnumberrequired
min 0 · max 100000
lineHeightPxnumberrequired
min 0 · max 100000
null
null
null
null
bodyobject | null
Show properties
Any of:
object
fontSizePxnumberrequired
min 0 · max 100000
lineHeightPxnumberrequired
min 0 · max 100000
fontFamilystringrequired
min length 1 · max length 255
null
null
headingCasestring | null
Show properties
Any of:
string
string
null
null
layoutobjectrequired
Show properties
pageWidthPxnumber | null
Show properties
Any of:
number
number
null
null
cornerRadiusPxnumber | null
Show properties
Any of:
number
number
null
null
sectionSpacingPxnumber | null
Show properties
Any of:
number
number
null
null
voiceobjectrequired
Show properties
tonestring | nullrequired
Show properties
Any of:
string
string
null
null
rulesobject[]required
Show properties
Array of object
textstringrequired
min length 1 · max length 32768
examplestring | null
Show properties
Any of:
string
string
null
null
idstring<uuid>required
matches ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
assetsobject[]required
Show properties
Array of object
attachmentIdintegerrequired
max 9007199254740991
categorystring | null
Show properties
Any of:
string
string
null
null
usagestring | null
Show properties
Any of:
string
string
null
null
altTextstring | null
Show properties
Any of:
string
string
null
null
availablebooleanrequired

False when the Media Library attachment is missing or unavailable.

urlstring<uri> | nullrequired

Authenticated download URL, or null when unavailable.

Show properties
Any of:
string<uri>
string<uri>
null
null
idstring<uuid>required
matches ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
null
null
updatedAtstring<date-time> | nullrequired
Show properties
Any of:
string<date-time>
string<date-time>
null
null
teamIdstringrequired
default

Problem 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.

typestringrequired

Problem type URI resolving to the error docs page. The server derives it mechanically from code against the docs origin.

titlestringrequired

Short human-readable summary of the problem type. The server derives it mechanically from code.

statusintegerrequired

HTTP status code of this response, repeated in the body.

min -9007199254740991 · max 9007199254740991
detailstringrequired

Human-readable failure explanation for this occurrence.

codestringrequired

Stable snake_case error code naming the failed public contract.

pointerstring

RFC 6901 JSON Pointer into the failing request field, for example "/files/37/path", on validation failures.

detailsobject

Machine-readable context for the error code.

fixstring

One 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.

requestIdstringrequired

The request id to quote when contacting support.

Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://api.spacefast.com/v1/teams/string/design-system' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json'
Response
{
  "$schema": "http://example.com",
  "data": {
    "revision": 0,
    "actionId": "4a2794ff-94cb-4bac-8d36-d5fb36c563a0",
    "document": {
      "colors": [
        {
          "name": "string",
          "hex": null,
          "usage": "string",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ],
      "typography": {
        "headings": {
          "fontSizePx": 0,
          "lineHeightPx": 0,
          "fontFamily": "string",
          "h2": {
            "fontSizePx": 0,
            "lineHeightPx": 0
          },
          "h3": {
            "fontSizePx": 0,
            "lineHeightPx": 0
          }
        },
        "body": {
          "fontSizePx": 0,
          "lineHeightPx": 0,
          "fontFamily": "string"
        },
        "headingCase": "sentence"
      },
      "layout": {
        "pageWidthPx": 0,
        "cornerRadiusPx": 0,
        "sectionSpacingPx": 0
      },
      "voice": {
        "tone": "string",
        "rules": [
          {
            "text": "string",
            "example": "string",
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          }
        ]
      },
      "assets": [
        {
          "attachmentId": 1,
          "category": "logo",
          "usage": "string",
          "altText": "string",
          "available": true,
          "url": "http://example.com",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        }
      ]
    },
    "updatedAt": "2019-08-24T14:15:22Z",
    "teamId": "string"
  }
}