Smithy · Schema

Smithy Model (JSON AST)

A Smithy model represented in JSON AST format

Code GenerationIDLSDKAPI DesignInterface Definition LanguageToolchain

Properties

Name Type Description
smithy string The Smithy version (e.g., '2.0')
metadata object Model-level metadata key-value pairs
shapes object Shapes defined in the model, keyed by absolute shape ID
View JSON Schema on GitHub

JSON Schema

smithy-model-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://smithy.io/schemas/model",
  "title": "Smithy Model (JSON AST)",
  "description": "A Smithy model represented in JSON AST format",
  "type": "object",
  "required": ["smithy"],
  "properties": {
    "smithy": {
      "type": "string",
      "description": "The Smithy version (e.g., '2.0')",
      "pattern": "^\\d+\\.\\d+$"
    },
    "metadata": {
      "type": "object",
      "description": "Model-level metadata key-value pairs",
      "additionalProperties": true
    },
    "shapes": {
      "type": "object",
      "description": "Shapes defined in the model, keyed by absolute shape ID",
      "additionalProperties": {
        "$ref": "smithy-shape-schema.json"
      }
    }
  },
  "examples": [
    {
      "smithy": "2.0",
      "metadata": {
        "suppressions": []
      },
      "shapes": {
        "com.example#MyService": {
          "type": "service",
          "version": "2026-05-02",
          "operations": [
            {"target": "com.example#GetItem"}
          ],
          "traits": {
            "aws.protocols#restJson1": {}
          }
        },
        "com.example#GetItem": {
          "type": "operation",
          "input": {"target": "com.example#GetItemInput"},
          "output": {"target": "com.example#GetItemOutput"},
          "errors": [
            {"target": "com.example#NotFoundError"}
          ],
          "traits": {
            "smithy.api#http": {
              "method": "GET",
              "uri": "/items/{id}",
              "code": 200
            },
            "smithy.api#readonly": {}
          }
        },
        "com.example#GetItemInput": {
          "type": "structure",
          "members": {
            "id": {
              "target": "smithy.api#String",
              "traits": {
                "smithy.api#httpLabel": {},
                "smithy.api#required": {}
              }
            }
          }
        },
        "com.example#GetItemOutput": {
          "type": "structure",
          "members": {
            "name": {
              "target": "smithy.api#String"
            },
            "value": {
              "target": "smithy.api#String"
            }
          }
        }
      }
    }
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/smithy-model"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.