PropelAuth · Capability

PropelAuth End-User API Keys — Validation & Management

PropelAuth backend capability for validating end-user API keys at a gateway and for managing their lifecycle (issue, fetch, update, revoke). Self-contained Naftiko capability.

PropelAuth End-User API Keys — Validation & Management is a Naftiko capability published by PropelAuth, one of 5 capabilities the APIs.io network indexes for this provider. It bundles 3 operations.

The capability includes 1 read-only operation and 2 state-changing operations. Lead operation: Validate an end-user API key. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include PropelAuth, API Keys, Authentication, and Gateway.

Run with Naftiko PropelAuthAPI KeysAuthenticationGateway

MCP Tools

propelauth-validate-api-key

Validate an end-user API key.

read-only idempotent
propelauth-create-api-key

Create an end-user API key.

propelauth-delete-api-key

Revoke an end-user API key.

idempotent

Capability Spec

api-key-validation.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PropelAuth End-User API Keys — Validation & Management
  description: 'PropelAuth backend capability for validating end-user API keys at a gateway and for managing their
    lifecycle (issue, fetch, update, revoke). Self-contained Naftiko capability.'
  tags:
  - PropelAuth
  - API Keys
  - Authentication
  - Gateway
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    PROPELAUTH_API_KEY: PROPELAUTH_API_KEY
    PROPELAUTH_AUTH_URL: PROPELAUTH_AUTH_URL
capability:
  consumes:
  - type: http
    namespace: propelauth-api-keys
    baseUri: '{{env.PROPELAUTH_AUTH_URL}}'
    description: PropelAuth End-User API Key operations.
    resources:
    - name: validate
      path: /api/backend/v1/end_user_api_keys/validate
      operations:
      - name: validateApiKey
        method: POST
        description: Validate an end-user API key.
        outputRawFormat: json
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: keys
      path: /api/backend/v1/end_user_api_keys
      operations:
      - name: createApiKey
        method: POST
        description: Create an end-user API key.
        outputRawFormat: json
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
      - name: fetchActiveApiKeys
        method: GET
        description: List active API keys.
        outputRawFormat: json
        inputParameters:
        - name: page_size
          in: query
          type: integer
        - name: page_number
          in: query
          type: integer
    - name: keyById
      path: /api/backend/v1/end_user_api_keys/{apiKeyId}
      operations:
      - name: deleteApiKey
        method: DELETE
        description: Revoke an API key.
        inputParameters:
        - name: apiKeyId
          in: path
          type: string
          required: true
    authentication:
      type: bearer
      value: '{{env.PROPELAUTH_API_KEY}}'
      placement: header
  exposes:
  - type: mcp
    namespace: propelauth-api-keys-mcp
    port: 9092
    transport: http
    description: MCP adapter for PropelAuth API key validation and lifecycle.
    tools:
    - name: propelauth-validate-api-key
      description: Validate an end-user API key.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: propelauth-api-keys.validateApiKey
      with:
        body: tools.body
    - name: propelauth-create-api-key
      description: Create an end-user API key.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: propelauth-api-keys.createApiKey
      with:
        body: tools.body
    - name: propelauth-delete-api-key
      description: Revoke an end-user API key.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: propelauth-api-keys.deleteApiKey
      with:
        apiKeyId: tools.apiKeyId