RubyGems.org Registry API — Versions

Versions surface — Versions. 3 operations. Lead operation: List All Versions Of A Gem. Self-contained Naftiko capability covering one RubyGems business surface.

RubyGems.org Registry API — Versions is a Naftiko capability published by Ruby Programming Language and Popular API Gems, one of 9 capabilities the APIs.io network indexes for this provider. It bundles 3 operations across the GET method rooted at /v1/gems/{…}/versions.

The capability includes 3 read-only operations. Lead operation: List all versions of a gem. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include RubyGems, Registry, and Versions.

Run with Naftiko RubyGemsRegistryVersions

What You Can Do

GET
Listversions — List all versions of a gem.
/v1/gems/{gem-name}/versions
GET
Getlatestversion — Get latest version of a gem.
/v1/gems/{gem-name}/versions/latest
GET
Getversiondetails — Get gem version details (v2 endpoint).
/v1/gems/{gem-name}/versions/{version}

MCP Tools

list-versions

List all versions of a gem.

read-only idempotent
get-latest-version

Get latest version of a gem.

read-only idempotent
get-version-details

Get gem version details (v2 endpoint).

read-only idempotent

Capability Spec

rubygems-registry-versions.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "RubyGems.org Registry API — Versions"
  description: >-
    Versions surface — Versions. 3 operations. Lead operation: List All Versions Of A Gem.
    Self-contained Naftiko capability covering one RubyGems business surface.
  tags:
    - RubyGems
    - Registry
    - Versions
  created: "2026-05-23"
  modified: "2026-05-23"

binds:
  - namespace: env
    keys:
      RUBYGEMS_API_KEY: RUBYGEMS_API_KEY

capability:

  consumes:
    - type: http
      namespace: "rubygems-registry-versions"
      baseUri: "https://rubygems.org"
      description: "RubyGems.org Registry — Versions surface. Self-contained, no shared references."
      authentication:
        type: apikey
        key: Authorization
        value: "{{env.RUBYGEMS_API_KEY}}"
        placement: header
      resources:
        - name: "versions-list"
          path: "/api/v1/versions/{gem_name}.json"
          operations:
            - name: "listVersions"
              method: GET
              description: "List all versions of a gem."
              inputParameters:
                - name: "gem_name"
                  in: path
                  type: string
                  required: true
                  description: "Canonical gem name."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "latest-version"
          path: "/api/v1/versions/{gem_name}/latest.json"
          operations:
            - name: "getLatestVersion"
              method: GET
              description: "Get latest version of a gem."
              inputParameters:
                - name: "gem_name"
                  in: path
                  type: string
                  required: true
                  description: "Canonical gem name."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "version-detail"
          path: "/api/v2/rubygems/{gem_name}/versions/{version}.json"
          operations:
            - name: "getVersionDetails"
              method: GET
              description: "Get gem version details (v2 endpoint)."
              inputParameters:
                - name: "gem_name"
                  in: path
                  type: string
                  required: true
                  description: "Canonical gem name."
                - name: "version"
                  in: path
                  type: string
                  required: true
                  description: "Version string."
                - name: "platform"
                  in: query
                  type: string
                  required: false
                  description: "Optional platform identifier."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "rubygems-registry-versions-rest"
      port: 8080
      description: "REST adapter for RubyGems.org Registry — Versions."
      resources:
        - path: "/v1/gems/{gem-name}/versions"
          name: "versions-list"
          description: "REST surface for gem versions list."
          operations:
            - method: GET
              name: "listVersions"
              description: "List all versions of a gem."
              call: "rubygems-registry-versions.listVersions"
              with:
                gem_name: "rest.gem_name"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/gems/{gem-name}/versions/latest"
          name: "latest-version"
          description: "REST surface for the latest version of a gem."
          operations:
            - method: GET
              name: "getLatestVersion"
              description: "Get latest version of a gem."
              call: "rubygems-registry-versions.getLatestVersion"
              with:
                gem_name: "rest.gem_name"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/gems/{gem-name}/versions/{version}"
          name: "version-detail"
          description: "REST surface for a specific gem version (v2 detail)."
          operations:
            - method: GET
              name: "getVersionDetails"
              description: "Get gem version details (v2 endpoint)."
              call: "rubygems-registry-versions.getVersionDetails"
              with:
                gem_name: "rest.gem_name"
                version: "rest.version"
                platform: "rest.platform"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "rubygems-registry-versions-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for RubyGems.org Registry — Versions."
      tools:
        - name: "list-versions"
          description: "List all versions of a gem."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "rubygems-registry-versions.listVersions"
          with:
            gem_name: "tools.gem_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "get-latest-version"
          description: "Get latest version of a gem."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "rubygems-registry-versions.getLatestVersion"
          with:
            gem_name: "tools.gem_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "get-version-details"
          description: "Get gem version details (v2 endpoint)."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "rubygems-registry-versions.getVersionDetails"
          with:
            gem_name: "tools.gem_name"
            version: "tools.version"
            platform: "tools.platform"
          outputParameters:
            - type: object
              mapping: "$."