Stack Exchange · Capability

Stack Exchange API — Users

Stack Exchange API — Users. 5 operations. Lead operation: Get All Users. Self-contained Naftiko capability covering one Stack Exchange business surface.

Run with Naftiko Stack ExchangeUsers

What You Can Do

GET
Getusers — Get All Users
/v1/users
GET
Getauthenticateduser — Get Authenticated User
/v1/users/me
GET
Getusersbyids — Get Users by IDs
/v1/users/{ids}
GET
Getanswersbyuser — Get Answers by User
/v1/users/{ids}/answers
GET
Getquestionsbyuser — Get Questions by User
/v1/users/{ids}/questions

MCP Tools

get-all-users

Get All Users

read-only idempotent
get-authenticated-user

Get Authenticated User

read-only idempotent
get-users-ids

Get Users by IDs

read-only idempotent
get-answers-user

Get Answers by User

read-only idempotent
get-questions-user

Get Questions by User

read-only idempotent

Capability Spec

stack-exchange-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Stack Exchange API — Users
  description: 'Stack Exchange API — Users. 5 operations. Lead operation: Get All Users. Self-contained Naftiko capability
    covering one Stack Exchange business surface.'
  tags:
  - Stack Exchange
  - Users
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    STACK_EXCHANGE_API_KEY: STACK_EXCHANGE_API_KEY
capability:
  consumes:
  - type: http
    namespace: stack-exchange-users
    baseUri: https://api.stackexchange.com/2.3
    description: Stack Exchange API — Users business capability. Self-contained, no shared references.
    resources:
    - name: users
      path: /users
      operations:
      - name: getusers
        method: GET
        description: Get All Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: inname
          in: query
          type: string
          description: Filter users whose display name contains this string
    - name: users-me
      path: /users/me
      operations:
      - name: getauthenticateduser
        method: GET
        description: Get Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: users-ids
      path: /users/{ids}
      operations:
      - name: getusersbyids
        method: GET
        description: Get Users by IDs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ids
          in: path
          type: string
          description: Semicolon-delimited list of user IDs
          required: true
    - name: users-ids-answers
      path: /users/{ids}/answers
      operations:
      - name: getanswersbyuser
        method: GET
        description: Get Answers by User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ids
          in: path
          type: string
          description: Semicolon-delimited list of user IDs
          required: true
    - name: users-ids-questions
      path: /users/{ids}/questions
      operations:
      - name: getquestionsbyuser
        method: GET
        description: Get Questions by User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ids
          in: path
          type: string
          description: Semicolon-delimited list of user IDs
          required: true
    authentication:
      type: bearer
      token: '{{env.STACK_EXCHANGE_API_KEY}}'
  exposes:
  - type: rest
    namespace: stack-exchange-users-rest
    port: 8080
    description: REST adapter for Stack Exchange API — Users. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/users
      name: users
      description: REST surface for users.
      operations:
      - method: GET
        name: getusers
        description: Get All Users
        call: stack-exchange-users.getusers
        with:
          inname: rest.inname
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/me
      name: users-me
      description: REST surface for users-me.
      operations:
      - method: GET
        name: getauthenticateduser
        description: Get Authenticated User
        call: stack-exchange-users.getauthenticateduser
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{ids}
      name: users-ids
      description: REST surface for users-ids.
      operations:
      - method: GET
        name: getusersbyids
        description: Get Users by IDs
        call: stack-exchange-users.getusersbyids
        with:
          ids: rest.ids
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{ids}/answers
      name: users-ids-answers
      description: REST surface for users-ids-answers.
      operations:
      - method: GET
        name: getanswersbyuser
        description: Get Answers by User
        call: stack-exchange-users.getanswersbyuser
        with:
          ids: rest.ids
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/users/{ids}/questions
      name: users-ids-questions
      description: REST surface for users-ids-questions.
      operations:
      - method: GET
        name: getquestionsbyuser
        description: Get Questions by User
        call: stack-exchange-users.getquestionsbyuser
        with:
          ids: rest.ids
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: stack-exchange-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for Stack Exchange API — Users. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-all-users
      description: Get All Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-users.getusers
      with:
        inname: tools.inname
      outputParameters:
      - type: object
        mapping: $.
    - name: get-authenticated-user
      description: Get Authenticated User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-users.getauthenticateduser
      outputParameters:
      - type: object
        mapping: $.
    - name: get-users-ids
      description: Get Users by IDs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-users.getusersbyids
      with:
        ids: tools.ids
      outputParameters:
      - type: object
        mapping: $.
    - name: get-answers-user
      description: Get Answers by User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-users.getanswersbyuser
      with:
        ids: tools.ids
      outputParameters:
      - type: object
        mapping: $.
    - name: get-questions-user
      description: Get Questions by User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stack-exchange-users.getquestionsbyuser
      with:
        ids: tools.ids
      outputParameters:
      - type: object
        mapping: $.