Build services.Build customers.Build with Smithy.

Modeling a service should be easy, no matter the interface. Smithy is extensible, typesafe, protocol agnostic, and powers services at AWS.

Smithy Service Example
service CoffeeShop {
operations: [
GetMenu
]
resources: [
Order
]
}
 
operation GetMenu {
output : = {
...
}
}
 
resource Order {
identifiers: {
id: Uuid
}
...
}

Model

Build APIs your customers will love using the Smithy Interface Definition Language (IDL). The Smithy IDL provides an intuitive syntax that codifies best practices learned from years of experience building services and SDKs in over a dozen programming languages. Use Smithy's extensible model validation tools to ensure the quality and consistency of your APIs. Customizable linting, validation, and backwards-compatibility checks integrate with your IDE and CI/CD pipelines so you catch API quality issues before your customers do.

Model
/build
/validate
/transform
/share

Build

Smithy's build tool integrations and plugin system make it easy to get started generating code from a Smithy model. Use one of the many open-source plugins for Smithy or create your own to make everything from model diagrams to SDKs. Write your API model once and generate clients, servers, and documentation for multiple programming languages with Smithy's CLI.

smithy build
SDKs
Docs
Server Stubs

Clients

Duke, the Java mascot
TypeScript Logo
Rust logo
Scala logo
Python logo
Go logo
Kotlin logo
Swift logo
Ruby logo

Servers

Duke, the Java mascot
TypeScript Logo
Rust logo
Scala logo
Two large quotation marks in red and pink neon style
Smithy is the cornerstone of cross-team collaboration in our organization. The simplicity of the base language, rich extensibility options and the ease of writing correct tooling - all of these make it a must-try for organizations that want to evolve their APIs safely and efficiently.
– SiriusXM

Features

Simple drawing of a smiling robot face with a round antenna on top

Protocol-agnostic

Smithy is designed to work with any programming language, describe services running in any environment, and work with any kind of transport or serialization format.

Minimalist illustration of a DNA double helix with red and black stripes

Codify and enforce API governance

Customizable API standards help to automatically ensure that APIs meet customer expectations. Validation rules can be shared and applied to all APIs in an organization.

Line drawing of a balance scale with red triangular pans

Designed to evolve

Smithy is extended through traits. Smithy's extensible meta-model can evolve and capture more information about services without breaking changes.

Stylized icon of a paperclip

Resource based

Smithy models are defined by resources and operations. Defining services with resources helps lead to better APIs and provides rich information for model transformations.

Smithy's logo mark: A red anvil
©Copyright Smithy 2025