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