API Builder

Define your REST API in a simple JSON format, and API Builder generates production-quality client libraries, server stubs, and documentation — so your team ships faster.

1 Intuitive API Design

Describe your service in api.json — a clean JSON format that guides you toward well-structured REST APIs through convention over configuration.

Also supports Swagger 2.0 and Avro IDL as input formats.

See the API Builder API spec for a real-world example.

2 Generated Client Libraries

Download native client libraries with minimal dependencies. Each is a single, readable file that drops straight into your project.

Ruby

client = MyService::Client.new("http://localhost:8000")

organizations = client.organizations.get(:limit => 10, :offset => 0)
organizations.each do |org|
  puts "Org %s is named %s" % [org.id, org.name]
end

neworg = client.organizations.post(:name => "My org")
puts "Created new org named %s" % neworg.name

Scala

val client = new io.apibuilder.api.v0.Client("http://localhost:8000")

val organizations = client.organizations.get(limit = 10, offset = 0)
organizations.foreach { org =>
  println(s"Org ${org.name} is named ${org.id}")
}

val neworg = client.organizations.post(name = "My org")
println(s"Created new org named ${neworg.name}")

3 Explore More

Ready to define your first API?

Get Started