Gremlin · Capability

Gremlin API — apikeys

Gremlin API — apikeys. 7 operations. Lead operation: List all API Keys. Self-contained Naftiko capability covering one Gremlin business surface.

Run with Naftiko Gremlinapikeys

What You Can Do

GET
Listall — List all API Keys
/v1/apikeys
POST
Createnew — Create a new API Key
/v1/apikeys
GET
Listactive — List active API Keys
/v1/apikeys/active
GET
Listallforcompany — List all API Keys for company
/v1/apikeys/all-for-company
DELETE
Revoke3 — Revoke an existing API Key
/v1/apikeys/{identifier}
PUT
Activate2 — Un-Revoke an existing API Key
/v1/apikeys/{identifier}/activate
PUT
Expiration — Set a new expiration on key
/v1/apikeys/{identifier}/expiration

MCP Tools

list-all-api-keys

List all API Keys

read-only idempotent
create-new-api-key

Create a new API Key

list-active-api-keys

List active API Keys

read-only idempotent
list-all-api-keys-company

List all API Keys for company

read-only idempotent
revoke-existing-api-key

Revoke an existing API Key

idempotent
un-revoke-existing-api-key

Un-Revoke an existing API Key

idempotent
set-new-expiration-key

Set a new expiration on key

idempotent

Capability Spec

gremlin-apikeys.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Gremlin API — apikeys
  description: 'Gremlin API — apikeys. 7 operations. Lead operation: List all API Keys. Self-contained Naftiko capability
    covering one Gremlin business surface.'
  tags:
  - Gremlin
  - apikeys
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GREMLIN_API_KEY: GREMLIN_API_KEY
capability:
  consumes:
  - type: http
    namespace: gremlin-apikeys
    baseUri: https://api.gremlin.com/v1
    description: Gremlin API — apikeys business capability. Self-contained, no shared references.
    resources:
    - name: apikeys
      path: /apikeys
      operations:
      - name: listall
        method: GET
        description: List all API Keys
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createnew
        method: POST
        description: Create a new API Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: apikeys-active
      path: /apikeys/active
      operations:
      - name: listactive
        method: GET
        description: List active API Keys
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apikeys-all-for-company
      path: /apikeys/all-for-company
      operations:
      - name: listallforcompany
        method: GET
        description: List all API Keys for company
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: apikeys-identifier
      path: /apikeys/{identifier}
      operations:
      - name: revoke3
        method: DELETE
        description: Revoke an existing API Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
    - name: apikeys-identifier-activate
      path: /apikeys/{identifier}/activate
      operations:
      - name: activate2
        method: PUT
        description: Un-Revoke an existing API Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
    - name: apikeys-identifier-expiration
      path: /apikeys/{identifier}/expiration
      operations:
      - name: expiration
        method: PUT
        description: Set a new expiration on key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identifier
          in: path
          type: string
          required: true
        - name: expiresAt
          in: query
          type: string
  exposes:
  - type: rest
    namespace: gremlin-apikeys-rest
    port: 8080
    description: REST adapter for Gremlin API — apikeys. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/apikeys
      name: apikeys
      description: REST surface for apikeys.
      operations:
      - method: GET
        name: listall
        description: List all API Keys
        call: gremlin-apikeys.listall
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createnew
        description: Create a new API Key
        call: gremlin-apikeys.createnew
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/apikeys/active
      name: apikeys-active
      description: REST surface for apikeys-active.
      operations:
      - method: GET
        name: listactive
        description: List active API Keys
        call: gremlin-apikeys.listactive
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/apikeys/all-for-company
      name: apikeys-all-for-company
      description: REST surface for apikeys-all-for-company.
      operations:
      - method: GET
        name: listallforcompany
        description: List all API Keys for company
        call: gremlin-apikeys.listallforcompany
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/apikeys/{identifier}
      name: apikeys-identifier
      description: REST surface for apikeys-identifier.
      operations:
      - method: DELETE
        name: revoke3
        description: Revoke an existing API Key
        call: gremlin-apikeys.revoke3
        with:
          identifier: rest.identifier
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/apikeys/{identifier}/activate
      name: apikeys-identifier-activate
      description: REST surface for apikeys-identifier-activate.
      operations:
      - method: PUT
        name: activate2
        description: Un-Revoke an existing API Key
        call: gremlin-apikeys.activate2
        with:
          identifier: rest.identifier
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/apikeys/{identifier}/expiration
      name: apikeys-identifier-expiration
      description: REST surface for apikeys-identifier-expiration.
      operations:
      - method: PUT
        name: expiration
        description: Set a new expiration on key
        call: gremlin-apikeys.expiration
        with:
          identifier: rest.identifier
          expiresAt: rest.expiresAt
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gremlin-apikeys-mcp
    port: 9090
    transport: http
    description: MCP adapter for Gremlin API — apikeys. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-all-api-keys
      description: List all API Keys
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-apikeys.listall
      outputParameters:
      - type: object
        mapping: $.
    - name: create-new-api-key
      description: Create a new API Key
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gremlin-apikeys.createnew
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-active-api-keys
      description: List active API Keys
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-apikeys.listactive
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-api-keys-company
      description: List all API Keys for company
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gremlin-apikeys.listallforcompany
      outputParameters:
      - type: object
        mapping: $.
    - name: revoke-existing-api-key
      description: Revoke an existing API Key
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: gremlin-apikeys.revoke3
      with:
        identifier: tools.identifier
      outputParameters:
      - type: object
        mapping: $.
    - name: un-revoke-existing-api-key
      description: Un-Revoke an existing API Key
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: gremlin-apikeys.activate2
      with:
        identifier: tools.identifier
      outputParameters:
      - type: object
        mapping: $.
    - name: set-new-expiration-key
      description: Set a new expiration on key
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: gremlin-apikeys.expiration
      with:
        identifier: tools.identifier
        expiresAt: tools.expiresAt
      outputParameters:
      - type: object
        mapping: $.