Skip to main content
Fusioncat is currently in its alpha stage. The main API server is located at: https://api.staging.fusioncatalyst.io/Please note that breaking changes and bugs are to be expected, as the product is still under active development.

Schema Management Commands

The paw schemas commands allow you to create, update, and manage schemas with full versioning support.

Commands

schemas list

List all schemas in a project.

Options

  • --project-id (required): The ID of the project

Examples

schemas new

Create a new schema.

Options

  • --project-id (required): The ID of the project
  • --name (required): Name of the schema
  • --type (required): Type of the schema (e.g., jsonschema)
  • --schema-file (required): Path to the schema definition file
  • --description: Description of the schema

Examples

schemas update

Update an existing schema (creates a new version).

Options

  • --schema-id (required): The ID of the schema to update
  • --schema-file (required): Path to the updated schema definition

Examples

schemas versions

List all versions of a schema.

Options

  • --schema-id (required): The ID of the schema

Examples

schemas get-version

Get a specific version of a schema.

Options

  • --schema-id (required): The ID of the schema
  • --version-id (required): The version ID of the schema

Examples

Schema Types

JSON Schema

The most common schema type. Define your data structures using JSON Schema specification. Example user.json:

Schema Versioning

How Versioning Works

  1. Immutable Versions: Each schema version is immutable once created
  2. Automatic Versioning: Updates create new versions automatically
  3. Version History: Full history is maintained for auditing
  4. App Independence: Different apps can use different versions

Version Management

Best Practices

Schema Design

  1. Start Simple: Begin with core fields, add complexity gradually
  2. Use Standard Formats: Leverage format validators (email, uuid, date-time)
  3. Document Fields: Use descriptions in your schemas
  4. Required Fields: Only mark truly required fields as required

Versioning Strategy

  1. Backward Compatibility: Try to maintain compatibility when possible
  2. Semantic Versioning: Use clear version numbering
  3. Migration Path: Document changes between versions
  4. Deprecation: Mark old fields as deprecated before removal

Schema Organization

Examples

Evolution of a Schema

Complex Schema Example