UpdateSchemaReq

Request body for updating a schema draft. Carries the schema's identity (metadata) and content (spec). Only the draft version is editable.

Use the If-Match header (set to the ETag returned by a prior GET / Create / Update response) to enable optimistic concurrency.

  • metadata
    Type: object
    required

    The resource's identity and human-facing labels. Shared shape across all five resource kinds (blueprints, templates, schemas, assets, functions). The pair (key, version) is the canonical handle for any resource within a namespace.

    • key
      Type: string Pattern: ^[a-z][a-z0-9]*(_[a-z0-9]+)*$
      required

      Caller-supplied identifier, unique within the namespace per kind. Stable across versions — a blueprint's key doesn't change when you publish a new version. Snake_case; must start with a lowercase letter.

    • name
      Type: string
      max length:  
      200
      required

      Human-readable display name shown in Studio, list responses, and audit trails (max 200 chars).

    • version
      Type: string
      required

      Either draft (editable; only one draft per key at a time) or a semver like 1.2.0 (immutable once published). On create you choose: pass draft to iterate, or a semver to publish directly.

    • description
      Type: string
      max length:  
      1000

      Optional longer-form description. Helps both humans and AI assistants pick the right resource when browsing the catalog (max 1000 chars).

    • labels
      Type: object

      Arbitrary key/value tags for categorization and filtering — e.g. { "team": "people-ops", "env": "prod" }. Filterable on list endpoints via ?labels[key]=value.

  • spec
    Type: object
    required

    The schema's content. SignStack schemas wrap a JSON Schema definition with versioning, identity, and lifecycle on top.

    • jsonSchemaDraft declares which JSON Schema specification draft the body conforms to.
    • schemaDefinition is the raw JSON Schema body (properties, types, constraints, refs).

    Used by blueprint/template inputs to declare the shape of entity data the caller must supply.

    • jsonSchemaDraft
      Type: stringenum
      required

      Which JSON Schema specification draft the schemaDefinition body conforms to. Newer drafts have richer features; older drafts are widely supported.

      values
      • 2020-12
      • 2019-09
      • draft-07
      • draft-06
      • draft-04
    • schemaDefinition
      Type: object
      required

      The JSON Schema body — properties, types, validation constraints, refs. Validated against the declared jsonSchemaDraft on every write.