Puma website screenshot

Puma

Puma is a simple, fast, multi-threaded, and highly parallel HTTP 1.1 server for Ruby/Rack applications. It is the most popular Ruby web server and the default server for Ruby on Rails, supporting SSL, zero-downtime rolling restarts, and a built-in request bufferer. Puma is an open-source application server and not a hosted service, so it does not expose a public REST API; integration is through configuration, Rack middleware, and the Puma control application server.

Puma publishes 10 APIs on the APIs.io network, including Gc API, Gc Stats API, Halt API, and 7 more. Tagged areas include Web Server, Ruby, Rack, Application Server, and HTTP.

Puma’s developer surface includes authentication, documentation, and 14 more developer resources.

28.8/100 thin ▬ flat Agent 20/100 agent aware Full breakdown ↓
scored 2026-09-14 · rubric v0.22.0
1 APIs
Web ServerRubyRackApplication ServerHTTPOpen-Source

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-14 · rubric v0.22.0
Create-or-Update Ergonomics does not apply to this provider. The published contracts declare no write operations, and a read-only API cannot create-or-update. The facet is excluded from this provider's denominator entirely — not scored zero. A reference or data API is not deficient for being unable to upsert.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/puma: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 11

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

Puma Control/Status Application

Puma ships with an optional control/status HTTP application that can be bound to a local port or Unix socket and queried for runtime statistics (busy threads, worker status, bac...

Puma Gc API

The Gc API from Puma — 1 operation(s) for gc.

Puma Gc Stats API

The Gc Stats API from Puma — 1 operation(s) for gc stats.

Puma Halt API

The Halt API from Puma — 1 operation(s) for halt.

Puma Phased Restart API

The Phased Restart API from Puma — 1 operation(s) for phased restart.

Puma Refork API

The Refork API from Puma — 1 operation(s) for refork.

Puma Reload Worker Directory API

The Reload Worker Directory API from Puma — 1 operation(s) for reload worker directory.

Puma Restart API

The Restart API from Puma — 1 operation(s) for restart.

Puma Stats API

The Stats API from Puma — 1 operation(s) for stats.

Puma Stop API

The Stop API from Puma — 1 operation(s) for stop.

Puma Thread Backtraces API

The Thread Backtraces API from Puma — 1 operation(s) for thread backtraces.

Scroll for all 11

Open Collections 12

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Scroll for all 12

Security Posture 2

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

Puma Authentication

apiKey · 1 scheme

SECURITY

Puma Domain Security

TLSv1.3

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Puma Agentic Access

10 operations

10 operations · 0 acting

AGENTIC

Resources

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 3

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 3

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: puma
name: Puma
description: Puma is a simple, fast, multi-threaded, and highly parallel HTTP 1.1 server for Ruby/Rack applications. It is
  the most popular Ruby web server and the default server for Ruby on Rails, supporting SSL, zero-downtime rolling restarts,
  and a built-in request bufferer. Puma is an open-source application server and not a hosted service, so it does not expose
  a public REST API; integration is through configuration, Rack middleware, and the Puma control application server.
type: Index
deliveryModel:
  model: unknown
  open_source: unknown
  commercial: false
  callable_host: false
  label: Delivery model not determined — needs a product licence on record
  confidence: low
  source:
  - openapi
  - repository-unlicensed
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: unknown
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Unknown
  confidence: low
  try_now_blocked_by: loopback
  source:
  - authentication
  - security
  generated: '2026-09-03'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/puma.png
tags:
- Web Server
- Ruby
- Rack
- Application Server
- HTTP
- Open-Source
tags_raw:
- Web Server
- Ruby
- Rack
- Application Server
- HTTP
- Open Source
url: https://raw.githubusercontent.com/api-evangelist/puma/refs/heads/main/apis.yml
created: '2026-05-11'
modified: '2026-05-11'
specificationVersion: '0.23'
apis:
- aid: puma:control-app
  name: Puma Control/Status Application
  description: Puma ships with an optional control/status HTTP application that can be bound to a local port or Unix socket
    and queried for runtime statistics (busy threads, worker status, backlog) and lifecycle control (stop, restart, halt).
    Authentication uses a shared control token passed via the `token` query parameter.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Control
  - Status
  - Ruby
  tags_raw:
  - Control
  - Status
  - Operations
  - Ruby
  properties:
  - type: Documentation
    url: https://github.com/puma/puma/blob/master/docs/restart.md
  - type: Source Code
    url: https://github.com/puma/puma
- aid: puma:puma-gc-api
  name: Puma Gc API
  description: The Gc API from Puma — 1 operation(s) for gc.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Gc
  properties:
  - type: OpenAPI
    url: openapi/puma-gc-api-openapi.yml
- aid: puma:puma-gc-stats-api
  name: Puma Gc Stats API
  description: The Gc Stats API from Puma — 1 operation(s) for gc stats.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Gc Stats
  properties:
  - type: OpenAPI
    url: openapi/puma-gc-stats-api-openapi.yml
- aid: puma:puma-halt-api
  name: Puma Halt API
  description: The Halt API from Puma — 1 operation(s) for halt.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Halt
  properties:
  - type: OpenAPI
    url: openapi/puma-halt-api-openapi.yml
- aid: puma:puma-phased-restart-api
  name: Puma Phased Restart API
  description: The Phased Restart API from Puma — 1 operation(s) for phased restart.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Phased Restart
  properties:
  - type: OpenAPI
    url: openapi/puma-phased-restart-api-openapi.yml
- aid: puma:puma-refork-api
  name: Puma Refork API
  description: The Refork API from Puma — 1 operation(s) for refork.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Refork
  properties:
  - type: OpenAPI
    url: openapi/puma-refork-api-openapi.yml
- aid: puma:puma-reload-worker-directory-api
  name: Puma Reload Worker Directory API
  description: The Reload Worker Directory API from Puma — 1 operation(s) for reload worker directory.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Reload Worker Directory
  properties:
  - type: OpenAPI
    url: openapi/puma-reload-worker-directory-api-openapi.yml
- aid: puma:puma-restart-api
  name: Puma Restart API
  description: The Restart API from Puma — 1 operation(s) for restart.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Restart
  properties:
  - type: OpenAPI
    url: openapi/puma-restart-api-openapi.yml
- aid: puma:puma-stats-api
  name: Puma Stats API
  description: The Stats API from Puma — 1 operation(s) for stats.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Stats
  properties:
  - type: OpenAPI
    url: openapi/puma-stats-api-openapi.yml
- aid: puma:puma-stop-api
  name: Puma Stop API
  description: The Stop API from Puma — 1 operation(s) for stop.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Stop
  properties:
  - type: OpenAPI
    url: openapi/puma-stop-api-openapi.yml
- aid: puma:puma-thread-backtraces-api
  name: Puma Thread Backtraces API
  description: The Thread Backtraces API from Puma — 1 operation(s) for thread backtraces.
  humanURL: https://github.com/puma/puma/blob/master/docs/restart.md
  baseURL: http://127.0.0.1:9293
  tags:
  - Thread Backtraces
  properties:
  - type: OpenAPI
    url: openapi/puma-thread-backtraces-api-openapi.yml
common:
- type: Releases
  url: https://github.com/puma/puma/releases
- type: SecurityPolicy
  url: https://github.com/puma/puma/blob/main/SECURITY.md
- type: CodeOfConduct
  url: https://github.com/puma/puma/blob/main/CODE_OF_CONDUCT.md
- type: ContributionGuide
  url: https://github.com/puma/puma/blob/main/CONTRIBUTING.md
- type: AgenticAccess
  url: agentic-access/puma-agentic-access.yml
- type: DomainSecurity
  url: security/puma-domain-security.yml
- type: Authentication
  url: authentication/puma-authentication.yml
- type: LinkedIn
  url: https://www.linkedin.com/company/puma
- type: Website
  url: https://puma.io
- type: Documentation
  url: https://puma.io/puma/
- type: GitHubOrganization
  url: https://github.com/puma
- type: GitHubRepository
  url: https://github.com/puma/puma
- type: RubyGems
  url: https://rubygems.org/gems/puma
- type: Issues
  url: https://github.com/puma/puma/issues
- type: Forums
  url: https://github.com/puma/puma/discussions
- type: License
  url: https://github.com/puma/puma/blob/master/LICENSE
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com

Work with this as data

Every provider 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 providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • 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 provider
curl "https://apis.io/api/v1/providers/puma"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/puma/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/puma/evidence"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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