Secure Code Warrior · Capability

Secure Code Warrior Portal API — Metrics

Secure Code Warrior Portal API — Metrics. 3 operations. Lead operation: Get Most Engaged Teams. Self-contained Naftiko capability covering one Secure Code Warrior business surface.

Run with Naftiko Secure Code WarriorMetrics

What You Can Do

GET
Getmostengagedteams — Get Most Engaged Teams
/v1/metrics/activity/teams/most-engaged
GET
Getmostengagedusers — Get Most Engaged Users
/v1/metrics/activity/users/most-engaged
GET
Gettimespent — Get Time Spent
/v1/metrics/time-spent

MCP Tools

get-most-engaged-teams

Get Most Engaged Teams

read-only idempotent
get-most-engaged-users

Get Most Engaged Users

read-only idempotent
get-time-spent

Get Time Spent

read-only idempotent

Capability Spec

portal-metrics.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Secure Code Warrior Portal API — Metrics
  description: 'Secure Code Warrior Portal API — Metrics. 3 operations. Lead operation: Get Most Engaged Teams. Self-contained
    Naftiko capability covering one Secure Code Warrior business surface.'
  tags:
  - Secure Code Warrior
  - Metrics
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SECURE_CODE_WARRIOR_API_KEY: SECURE_CODE_WARRIOR_API_KEY
capability:
  consumes:
  - type: http
    namespace: portal-metrics
    baseUri: https://portal-api.securecodewarrior.com/api/v2
    description: Secure Code Warrior Portal API — Metrics business capability. Self-contained, no shared references.
    resources:
    - name: metrics-activity-teams-most-engaged
      path: /metrics/activity/teams/most-engaged
      operations:
      - name: getmostengagedteams
        method: GET
        description: Get Most Engaged Teams
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: report_period
          in: query
          type: integer
        - name: number_of_teams
          in: query
          type: integer
        - name: tags
          in: query
          type: string
        - name: page
          in: query
          type: integer
    - name: metrics-activity-users-most-engaged
      path: /metrics/activity/users/most-engaged
      operations:
      - name: getmostengagedusers
        method: GET
        description: Get Most Engaged Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: report_period
          in: query
          type: integer
        - name: number_of_users
          in: query
          type: integer
        - name: team_name
          in: query
          type: string
        - name: tags
          in: query
          type: string
        - name: page
          in: query
          type: integer
    - name: metrics-time-spent
      path: /metrics/time-spent
      operations:
      - name: gettimespent
        method: GET
        description: Get Time Spent
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
        - name: id
          in: query
          type: string
        - name: email
          in: query
          type: string
        - name: tags
          in: query
          type: string
        - name: team
          in: query
          type: string
        - name: startdate
          in: query
          type: string
        - name: enddate
          in: query
          type: string
    authentication:
      type: apikey
      key: X-API-Key
      value: '{{env.SECURE_CODE_WARRIOR_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: portal-metrics-rest
    port: 8080
    description: REST adapter for Secure Code Warrior Portal API — Metrics. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/metrics/activity/teams/most-engaged
      name: metrics-activity-teams-most-engaged
      description: REST surface for metrics-activity-teams-most-engaged.
      operations:
      - method: GET
        name: getmostengagedteams
        description: Get Most Engaged Teams
        call: portal-metrics.getmostengagedteams
        with:
          report_period: rest.report_period
          number_of_teams: rest.number_of_teams
          tags: rest.tags
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/metrics/activity/users/most-engaged
      name: metrics-activity-users-most-engaged
      description: REST surface for metrics-activity-users-most-engaged.
      operations:
      - method: GET
        name: getmostengagedusers
        description: Get Most Engaged Users
        call: portal-metrics.getmostengagedusers
        with:
          report_period: rest.report_period
          number_of_users: rest.number_of_users
          team_name: rest.team_name
          tags: rest.tags
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/metrics/time-spent
      name: metrics-time-spent
      description: REST surface for metrics-time-spent.
      operations:
      - method: GET
        name: gettimespent
        description: Get Time Spent
        call: portal-metrics.gettimespent
        with:
          page: rest.page
          id: rest.id
          email: rest.email
          tags: rest.tags
          team: rest.team
          startdate: rest.startdate
          enddate: rest.enddate
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: portal-metrics-mcp
    port: 9090
    transport: http
    description: MCP adapter for Secure Code Warrior Portal API — Metrics. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: get-most-engaged-teams
      description: Get Most Engaged Teams
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portal-metrics.getmostengagedteams
      with:
        report_period: tools.report_period
        number_of_teams: tools.number_of_teams
        tags: tools.tags
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-most-engaged-users
      description: Get Most Engaged Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portal-metrics.getmostengagedusers
      with:
        report_period: tools.report_period
        number_of_users: tools.number_of_users
        team_name: tools.team_name
        tags: tools.tags
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-time-spent
      description: Get Time Spent
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portal-metrics.gettimespent
      with:
        page: tools.page
        id: tools.id
        email: tools.email
        tags: tools.tags
        team: tools.team
        startdate: tools.startdate
        enddate: tools.enddate
      outputParameters:
      - type: object
        mapping: $.