PropelAuth · Capability

PropelAuth User API — User Management

PropelAuth backend User API capability covering CRUD, query, enable/disable, password, and 2FA operations on PropelAuth-managed end users. Self-contained Naftiko capability.

PropelAuth User API — User Management is a Naftiko capability published by PropelAuth, one of 5 capabilities the APIs.io network indexes for this provider. It bundles 2 operations across the POST and GET methods rooted at /v1/users.

The capability includes 2 read-only operations and 3 state-changing operations. Lead operation: Create a PropelAuth user. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include PropelAuth, Users, Authentication, and B2B.

Run with Naftiko PropelAuthUsersAuthenticationB2B

What You Can Do

POST
Createuser — Create a user.
/v1/users
GET
Queryusers — Query users.
/v1/users

MCP Tools

propelauth-create-user

Create a PropelAuth user.

propelauth-fetch-user-by-id

Fetch a PropelAuth user by ID.

read-only idempotent
propelauth-update-user

Update a PropelAuth user.

idempotent
propelauth-delete-user

Delete a PropelAuth user.

idempotent
propelauth-query-users

Query PropelAuth users.

read-only idempotent

Capability Spec

user-management.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PropelAuth User API — User Management
  description: 'PropelAuth backend User API capability covering CRUD, query, enable/disable, password, and 2FA operations
    on PropelAuth-managed end users. Self-contained Naftiko capability.'
  tags:
  - PropelAuth
  - Users
  - Authentication
  - B2B
  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-user-management
    baseUri: '{{env.PROPELAUTH_AUTH_URL}}'
    description: PropelAuth User API operations.
    resources:
    - name: user
      path: /api/backend/v1/user/
      operations:
      - name: createUser
        method: POST
        description: Create a new PropelAuth user.
        outputRawFormat: json
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: userById
      path: /api/backend/v1/user/{userId}
      operations:
      - name: fetchUserById
        method: GET
        description: Fetch a user by ID.
        outputRawFormat: json
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateUser
        method: PUT
        description: Update a user.
        outputRawFormat: json
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          required: true
      - name: deleteUser
        method: DELETE
        description: Delete a user.
        inputParameters:
        - name: userId
          in: path
          type: string
          required: true
    - name: userQuery
      path: /api/backend/v1/user/query
      operations:
      - name: queryUsers
        method: GET
        description: Page through users.
        outputRawFormat: json
        inputParameters:
        - name: page_size
          in: query
          type: integer
        - name: page_number
          in: query
          type: integer
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      value: '{{env.PROPELAUTH_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: propelauth-user-management-rest
    port: 8080
    description: REST adapter for PropelAuth User Management.
    resources:
    - path: /v1/users
      name: users
      description: REST surface for the PropelAuth User API.
      operations:
      - method: POST
        name: createUser
        description: Create a user.
        call: propelauth-user-management.createUser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: queryUsers
        description: Query users.
        call: propelauth-user-management.queryUsers
        with:
          page_size: rest.query.page_size
          page_number: rest.query.page_number
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: propelauth-user-management-mcp
    port: 9090
    transport: http
    description: MCP adapter for PropelAuth User Management.
    tools:
    - name: propelauth-create-user
      description: Create a PropelAuth user.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: propelauth-user-management.createUser
      with:
        body: tools.body
    - name: propelauth-fetch-user-by-id
      description: Fetch a PropelAuth user by ID.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: propelauth-user-management.fetchUserById
      with:
        userId: tools.userId
    - name: propelauth-update-user
      description: Update a PropelAuth user.
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: propelauth-user-management.updateUser
      with:
        userId: tools.userId
        body: tools.body
    - name: propelauth-delete-user
      description: Delete a PropelAuth user.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: propelauth-user-management.deleteUser
      with:
        userId: tools.userId
    - name: propelauth-query-users
      description: Query PropelAuth users.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: propelauth-user-management.queryUsers
      with:
        page_size: tools.page_size
        page_number: tools.page_number