Smithy website screenshot

Smithy

Smithy is an open source, protocol-agnostic interface definition language (IDL) and toolchain developed at AWS for defining, validating, and generating API clients, servers, and documentation for any programming language. It powers the AWS SDK code generation pipeline and supports protocol-agnostic API modeling with traits, validators, and code generators. Smithy IDL 2.0 is the current stable version.

Smithy publishes 2 APIs on the APIs.io network. Tagged areas include Code Generation, IDL, SDKs, API Design, and Interface Definition Language.

The Smithy catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.

Smithy’s developer surface includes documentation, getting-started guide, code examples, engineering blog, and 7 more developer resources.

33.2/100 thin ▬ flat Agent 5/100 human only Full breakdown ↓
scored 2026-08-05 · rubric v0.9.1
AccessFreemium
2 APIs
Code GenerationIDLSDKsAPI DesignInterface Definition LanguageToolchain

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-05 · rubric v0.9.1
Composite quality — 33.2/100 · thin
Contract Quality 3.2 / 25
Developer Ergonomics 4.3 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 4.8 / 13
Governance 7.0 / 12
Discoverability 5.9 / 10
Agent readiness — 5/100 · human only
Machine-Readable Contract 0 / 18
Agentic Access Contract 0 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/smithy: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 2

Individual APIs this provider publishes, each with its own machine-readable definition.

Smithy IDL

The Smithy Interface Definition Language (IDL) is a specification for defining API models using shapes and traits. Models can be written in the Smithy IDL syntax or the JSON AST...

Smithy CLI

The Smithy CLI is a command-line tool for building, validating, diffing, and transforming Smithy models. It can generate JSON AST representations, run model validation, perform ...

Pricing Plans 1

Published pricing tiers and plan structures.

Smithy Plans Pricing

3 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Smithy Rate Limits

5 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Smithy Context

26 classes · 0 properties

JSON-LD

Spectral Rules 2

Spectral governance rulesets for linting and validating these APIs.

Smithy API Rules

5 rules · 4 warnings 1 info

SPECTRAL

Smithy API Rules

5 rules · 1 errors 3 warnings 1 info

SPECTRAL

JSON Schema 2

Standalone JSON Schema definitions for this provider's data models.

Smithy Model (JSON AST)

3 properties

JSON SCHEMA

Smithy Shape

12 properties

JSON SCHEMA

JSON Structure 1

JSON Structure definitions describing this provider's data shapes.

Smithy Model Structure

0 properties

JSON STRUCTURE

Examples 1

Example request and response payloads for these APIs.

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Smithy Domain Security

TLSv1.3

SECURITY

Resources

Get Started 1

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 1

Authentication, authorization, and security posture

Company 2

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: smithy
name: Smithy
description: Smithy is an open source, protocol-agnostic interface definition language (IDL) and toolchain developed at AWS
  for defining, validating, and generating API clients, servers, and documentation for any programming language. It powers
  the AWS SDK code generation pipeline and supports protocol-agnostic API modeling with traits, validators, and code generators.
  Smithy IDL 2.0 is the current stable version.
type: Index
accessModel:
  pricing: freemium
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Freemium
  confidence: medium
  source:
  - plans
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/smithy.png
tags:
- AWS
- Code Generation
- IDL
- SDKs
- API Design
- Interface Definition Language
- Toolchain
created: '2026-03-25'
modified: '2026-05-02'
url: https://raw.githubusercontent.com/api-evangelist/smithy/refs/heads/main/apis.yml
specificationVersion: '0.19'
apis:
- aid: smithy:smithy-idl
  name: Smithy IDL
  description: The Smithy Interface Definition Language (IDL) is a specification for defining API models using shapes and
    traits. Models can be written in the Smithy IDL syntax or the JSON AST representation. Smithy 2.0 is the current stable
    version with improved nullability, enums, resource properties, and mixins.
  humanURL: https://smithy.io/2.0/
  tags:
  - IDL
  - API Design
  - Specification
  properties:
  - type: Documentation
    url: https://smithy.io/2.0/
  - type: Specification
    url: https://smithy.io/2.0/spec/
  - type: GettingStarted
    url: https://smithy.io/2.0/quickstart.html
  - type: GitHubRepository
    url: https://github.com/smithy-lang/smithy
- aid: smithy:smithy-cli
  name: Smithy CLI
  description: The Smithy CLI is a command-line tool for building, validating, diffing, and transforming Smithy models. It
    can generate JSON AST representations, run model validation, perform backwards-compatibility checks, and generate artifacts
    from Smithy models.
  humanURL: https://smithy.io/2.0/guides/smithy-cli/index.html
  tags:
  - CLI
  - Build Tools
  - Validation
  properties:
  - type: Documentation
    url: https://smithy.io/2.0/guides/smithy-cli/index.html
  - type: GitHubRepository
    url: https://github.com/smithy-lang/smithy
  - type: Homebrew
    url: https://github.com/smithy-lang/homebrew-tap
common:
- type: DomainSecurity
  url: security/smithy-domain-security.yml
- type: Website
  url: https://smithy.io
- type: Documentation
  url: https://smithy.io/2.0/
- type: Specification
  url: https://smithy.io/2.0/spec/
- type: GettingStarted
  url: https://smithy.io/2.0/quickstart.html
- type: GitHubOrganization
  url: https://github.com/smithy-lang
- type: GitHubRepository
  url: https://github.com/smithy-lang/smithy
- type: Examples
  url: https://github.com/smithy-lang/smithy-examples
- type: Awesome List
  url: https://github.com/smithy-lang/awesome-smithy
- type: AWS API Models
  url: https://github.com/aws/api-models-aws
- type: Blog
  url: https://aws.amazon.com/blogs/developer/tag/smithy/
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com