RubyGems.org Registry API — Owners

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

RubyGems.org Registry API — Owners 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, POST, and DELETE methods rooted at /v1/gems/{…}/owners.

The capability includes 1 read-only operation and 2 state-changing operations. Lead operation: List owners of a gem. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include RubyGems, Registry, and Owners.

Run with Naftiko RubyGemsRegistryOwners

What You Can Do

GET
Listowners — List owners of a gem.
/v1/gems/{gem-name}/owners
POST
Addowner — Add an owner to a gem.
/v1/gems/{gem-name}/owners
DELETE
Removeowner — Remove an owner from a gem.
/v1/gems/{gem-name}/owners

MCP Tools

list-owners

List owners of a gem.

read-only idempotent
add-owner

Add an owner to a gem.

remove-owner

Remove an owner from a gem.

idempotent

Capability Spec

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

info:
  label: "RubyGems.org Registry API — Owners"
  description: >-
    Owners surface — Owners. 3 operations. Lead operation: List Owners Of A Gem.
    Self-contained Naftiko capability covering one RubyGems business surface.
  tags:
    - RubyGems
    - Registry
    - Owners
  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-owners"
      baseUri: "https://rubygems.org"
      description: "RubyGems.org Registry — Owners surface. Self-contained, no shared references."
      authentication:
        type: apikey
        key: Authorization
        value: "{{env.RUBYGEMS_API_KEY}}"
        placement: header
      resources:
        - name: "gem-owners"
          path: "/api/v1/owners/{gem_name}.json"
          operations:
            - name: "listOwners"
              method: GET
              description: "List owners 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: "addOwner"
              method: POST
              description: "Add an owner to a gem."
              inputParameters:
                - name: "gem_name"
                  in: path
                  type: string
                  required: true
                  description: "Canonical gem name."
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Form body containing email."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "removeOwner"
              method: DELETE
              description: "Remove an owner from a gem."
              inputParameters:
                - name: "gem_name"
                  in: path
                  type: string
                  required: true
                  description: "Canonical gem name."
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Form body containing email."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "rubygems-registry-owners-rest"
      port: 8080
      description: "REST adapter for RubyGems.org Registry — Owners."
      resources:
        - path: "/v1/gems/{gem-name}/owners"
          name: "gem-owners"
          description: "REST surface for gem ownership."
          operations:
            - method: GET
              name: "listOwners"
              description: "List owners of a gem."
              call: "rubygems-registry-owners.listOwners"
              with:
                gem_name: "rest.gem_name"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: "addOwner"
              description: "Add an owner to a gem."
              call: "rubygems-registry-owners.addOwner"
              with:
                gem_name: "rest.gem_name"
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: "removeOwner"
              description: "Remove an owner from a gem."
              call: "rubygems-registry-owners.removeOwner"
              with:
                gem_name: "rest.gem_name"
                body: "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "rubygems-registry-owners-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for RubyGems.org Registry — Owners."
      tools:
        - name: "list-owners"
          description: "List owners of a gem."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "rubygems-registry-owners.listOwners"
          with:
            gem_name: "tools.gem_name"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "add-owner"
          description: "Add an owner to a gem."
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "rubygems-registry-owners.addOwner"
          with:
            gem_name: "tools.gem_name"
            body: "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "remove-owner"
          description: "Remove an owner from a gem."
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "rubygems-registry-owners.removeOwner"
          with:
            gem_name: "tools.gem_name"
            body: "tools.body"
          outputParameters:
            - type: object
              mapping: "$."