GreyNoise Intelligence · Capability

GreyNoise API — Sessions

Sessions surface of GreyNoise API. 10 operations. Lead operation: Get Sessions. Self-contained Naftiko capability covering one GreyNoise business surface.

Run with Naftiko GreyNoiseSecuritySessions

What You Can Do

GET
Getsessions — Get Sessions
/v1/sessions
GET
Getsessionconnections — Get Session Connections
/v1/sessions/connections
GET
Getsessioncounts — Get Session Counts
/v1/sessions/counts
GET
Exportsessionspcap — Export PCAP for Multiple Sessions
/v1/sessions/export
GET
Getsessionfields — Get Session Fields
/v1/sessions/fields
GET
Getsessiontimeseries — Get Session Timeseries
/v1/sessions/timeseries
GET
Getsessionuniquevalues — Get Unique Field Values
/v1/sessions/unique
GET
Getsessionbyid — Get Session by ID
/v1/sessions/{session-id}
GET
Exportsessiondata — Export Session Data
/v1/sessions/{session-id}/export
GET
Getsessionpcap — Get Session PCAP
/v1/sessions/{session-id}/frames

MCP Tools

get-sessions

Get Sessions

read-only idempotent
get-session-connections

Get Session Connections

read-only idempotent
get-session-counts

Get Session Counts

read-only idempotent
export-pcap-multiple-sessions

Export PCAP for Multiple Sessions

read-only idempotent
get-session-fields

Get Session Fields

read-only idempotent
get-session-timeseries

Get Session Timeseries

read-only idempotent
get-unique-field-values

Get Unique Field Values

read-only idempotent
get-session-id

Get Session by ID

read-only idempotent
export-session-data

Export Session Data

read-only idempotent
get-session-pcap

Get Session PCAP

read-only idempotent

Capability Spec

greynoise-sessions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GreyNoise API — Sessions
  description: 'Sessions surface of GreyNoise API. 10 operations. Lead operation: Get Sessions. Self-contained Naftiko capability covering one GreyNoise business surface.'
  tags:
    - GreyNoise
    - Security
    - Sessions
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
  - namespace: env
    keys:
      GREYNOISE_API_KEY: GREYNOISE_API_KEY
capability:
  consumes:
    - type: http
      namespace: greynoise-sessions
      baseUri: https://api.greynoise.io
      description: GreyNoise API — Sessions business capability. Self-contained, no shared references.
      authentication:
        type: apikey
        key: key
        value: '{{env.GREYNOISE_API_KEY}}'
        placement: header
      resources:
        - name: v3-sessions
          path: /v3/sessions
          operations:
            - name: getSessions
              method: GET
              description: Get Sessions
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: start_time
                  in: query
                  type: string
                  required: true
                  description: Start time for the query range (ISO 8601 format).
                - name: end_time
                  in: query
                  type: string
                  required: true
                  description: End time for the query range (ISO 8601 format).
                - name: query
                  in: query
                  type: string
                  required: false
                  description: Lucene query string to filter sessions.
                - name: page
                  in: query
                  type: integer
                  required: false
                  description: Page number for pagination.
                - name: page_size
                  in: query
                  type: integer
                  required: false
                  description: Number of results per page.
                - name: sort_by
                  in: query
                  type: string
                  required: false
                  description: Field to sort results by.
                - name: sort_desc
                  in: query
                  type: string
                  required: false
                  description: Whether to sort in descending order.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-connections
          path: /v3/sessions/connections
          operations:
            - name: getSessionConnections
              method: GET
              description: Get Session Connections
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: start_time
                  in: query
                  type: string
                  required: true
                  description: Start time for the query range (ISO 8601 format).
                - name: end_time
                  in: query
                  type: string
                  required: true
                  description: End time for the query range (ISO 8601 format).
                - name: query
                  in: query
                  type: string
                  required: false
                  description: Lucene query string to filter sessions.
                - name: src_field
                  in: query
                  type: string
                  required: false
                  description: Source field to aggregate on.
                - name: dest_field
                  in: query
                  type: string
                  required: false
                  description: Destination field to aggregate on.
                - name: max_nodes
                  in: query
                  type: integer
                  required: false
                  description: Maximum number of nodes to return.
                - name: min_connections
                  in: query
                  type: integer
                  required: false
                  description: Minimum number of connections to include a node.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-counts
          path: /v3/sessions/counts
          operations:
            - name: getSessionCounts
              method: GET
              description: Get Session Counts
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: start_time
                  in: query
                  type: string
                  required: true
                  description: Start time for the query range (ISO 8601 format).
                - name: end_time
                  in: query
                  type: string
                  required: true
                  description: End time for the query range (ISO 8601 format).
                - name: fields
                  in: query
                  type: string
                  required: true
                  description: Comma-separated list of fields to aggregate on.
                - name: query
                  in: query
                  type: string
                  required: false
                  description: Lucene query string to filter sessions.
                - name: size
                  in: query
                  type: integer
                  required: false
                  description: Number of buckets per aggregation level.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-export
          path: /v3/sessions/export
          operations:
            - name: exportSessionsPcap
              method: GET
              description: Export PCAP for Multiple Sessions
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: start_time
                  in: query
                  type: string
                  required: true
                  description: Start time for the query range (ISO 8601 format).
                - name: end_time
                  in: query
                  type: string
                  required: true
                  description: End time for the query range (ISO 8601 format).
                - name: query
                  in: query
                  type: string
                  required: false
                  description: Lucene query string to filter sessions.
                - name: size
                  in: query
                  type: integer
                  required: false
                  description: Maximum number of sessions to include in the export.
                - name: sort_by
                  in: query
                  type: string
                  required: false
                  description: Field to sort results by.
                - name: sort_desc
                  in: query
                  type: string
                  required: false
                  description: Whether to sort in descending order.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-fields
          path: /v3/sessions/fields
          operations:
            - name: getSessionFields
              method: GET
              description: Get Session Fields
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-timeseries
          path: /v3/sessions/timeseries
          operations:
            - name: getSessionTimeseries
              method: GET
              description: Get Session Timeseries
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: start_time
                  in: query
                  type: string
                  required: true
                  description: Start time for the query range (ISO 8601 format).
                - name: end_time
                  in: query
                  type: string
                  required: true
                  description: End time for the query range (ISO 8601 format).
                - name: query
                  in: query
                  type: string
                  required: false
                  description: Lucene query string to filter sessions.
                - name: field
                  in: query
                  type: string
                  required: false
                  description: Field to group timeseries by.
                - name: size
                  in: query
                  type: integer
                  required: false
                  description: Number of groups to return when field is provided.
                - name: interval
                  in: query
                  type: string
                  required: false
                  description: Time interval for bucketing.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-unique
          path: /v3/sessions/unique
          operations:
            - name: getSessionUniqueValues
              method: GET
              description: Get Unique Field Values
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: start_time
                  in: query
                  type: string
                  required: true
                  description: Start time for the query range (ISO 8601 format).
                - name: end_time
                  in: query
                  type: string
                  required: true
                  description: End time for the query range (ISO 8601 format).
                - name: field
                  in: query
                  type: string
                  required: true
                  description: Field to get unique values for.
                - name: query
                  in: query
                  type: string
                  required: false
                  description: Lucene query string to filter sessions.
                - name: include_counts
                  in: query
                  type: string
                  required: false
                  description: Whether to include counts in the output.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-session-id
          path: /v3/sessions/{session_id}
          operations:
            - name: getSessionById
              method: GET
              description: Get Session by ID
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: session_id
                  in: path
                  type: string
                  required: true
                  description: The unique session identifier.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-session-id-export
          path: /v3/sessions/{session_id}/export
          operations:
            - name: exportSessionData
              method: GET
              description: Export Session Data
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: session_id
                  in: path
                  type: string
                  required: true
                  description: The unique session identifier.
                - name: type
                  in: query
                  type: string
                  required: false
                  description: Export format type.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: v3-sessions-session-id-frames
          path: /v3/sessions/{session_id}/frames
          operations:
            - name: getSessionPcap
              method: GET
              description: Get Session PCAP
              inputParameters:
                - name: scope
                  in: query
                  type: string
                  required: false
                  description: Controls the data scope for the query.
                - name: session_id
                  in: path
                  type: string
                  required: true
                  description: The unique session identifier.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: greynoise-sessions-rest
      port: 8080
      description: REST adapter for GreyNoise API — Sessions. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/sessions
          name: v1-sessions
          description: REST surface for Get Sessions.
          operations:
            - method: GET
              name: getSessions
              description: Get Sessions
              call: greynoise-sessions.getSessions
              with:
                scope: rest.scope
                start_time: rest.start_time
                end_time: rest.end_time
                query: rest.query
                page: rest.page
                page_size: rest.page_size
                sort_by: rest.sort_by
                sort_desc: rest.sort_desc
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/connections
          name: v1-sessions-connections
          description: REST surface for Get Session Connections.
          operations:
            - method: GET
              name: getSessionConnections
              description: Get Session Connections
              call: greynoise-sessions.getSessionConnections
              with:
                scope: rest.scope
                start_time: rest.start_time
                end_time: rest.end_time
                query: rest.query
                src_field: rest.src_field
                dest_field: rest.dest_field
                max_nodes: rest.max_nodes
                min_connections: rest.min_connections
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/counts
          name: v1-sessions-counts
          description: REST surface for Get Session Counts.
          operations:
            - method: GET
              name: getSessionCounts
              description: Get Session Counts
              call: greynoise-sessions.getSessionCounts
              with:
                scope: rest.scope
                start_time: rest.start_time
                end_time: rest.end_time
                fields: rest.fields
                query: rest.query
                size: rest.size
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/export
          name: v1-sessions-export
          description: REST surface for Export PCAP for Multiple Sessions.
          operations:
            - method: GET
              name: exportSessionsPcap
              description: Export PCAP for Multiple Sessions
              call: greynoise-sessions.exportSessionsPcap
              with:
                scope: rest.scope
                start_time: rest.start_time
                end_time: rest.end_time
                query: rest.query
                size: rest.size
                sort_by: rest.sort_by
                sort_desc: rest.sort_desc
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/fields
          name: v1-sessions-fields
          description: REST surface for Get Session Fields.
          operations:
            - method: GET
              name: getSessionFields
              description: Get Session Fields
              call: greynoise-sessions.getSessionFields
              with:
                scope: rest.scope
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/timeseries
          name: v1-sessions-timeseries
          description: REST surface for Get Session Timeseries.
          operations:
            - method: GET
              name: getSessionTimeseries
              description: Get Session Timeseries
              call: greynoise-sessions.getSessionTimeseries
              with:
                scope: rest.scope
                start_time: rest.start_time
                end_time: rest.end_time
                query: rest.query
                field: rest.field
                size: rest.size
                interval: rest.interval
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/unique
          name: v1-sessions-unique
          description: REST surface for Get Unique Field Values.
          operations:
            - method: GET
              name: getSessionUniqueValues
              description: Get Unique Field Values
              call: greynoise-sessions.getSessionUniqueValues
              with:
                scope: rest.scope
                start_time: rest.start_time
                end_time: rest.end_time
                field: rest.field
                query: rest.query
                include_counts: rest.include_counts
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/{session-id}
          name: v1-sessions-session-id
          description: REST surface for Get Session by ID.
          operations:
            - method: GET
              name: getSessionById
              description: Get Session by ID
              call: greynoise-sessions.getSessionById
              with:
                scope: rest.scope
                session_id: rest.session_id
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/{session-id}/export
          name: v1-sessions-session-id-export
          description: REST surface for Export Session Data.
          operations:
            - method: GET
              name: exportSessionData
              description: Export Session Data
              call: greynoise-sessions.exportSessionData
              with:
                scope: rest.scope
                session_id: rest.session_id
                type: rest.type
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/sessions/{session-id}/frames
          name: v1-sessions-session-id-frames
          description: REST surface for Get Session PCAP.
          operations:
            - method: GET
              name: getSessionPcap
              description: Get Session PCAP
              call: greynoise-sessions.getSessionPcap
              with:
                scope: rest.scope
                session_id: rest.session_id
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: greynoise-sessions-mcp
      port: 9090
      transport: http
      description: MCP adapter for GreyNoise API — Sessions. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: get-sessions
          description: Get Sessions
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.getSessions
          with:
            scope: tools.scope
            start_time: tools.start_time
            end_time: tools.end_time
            query: tools.query
            page: tools.page
            page_size: tools.page_size
            sort_by: tools.sort_by
            sort_desc: tools.sort_desc
          outputParameters:
            - type: object
              mapping: $.
        - name: get-session-connections
          description: Get Session Connections
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.getSessionConnections
          with:
            scope: tools.scope
            start_time: tools.start_time
            end_time: tools.end_time
            query: tools.query
            src_field: tools.src_field
            dest_field: tools.dest_field
            max_nodes: tools.max_nodes
            min_connections: tools.min_connections
          outputParameters:
            - type: object
              mapping: $.
        - name: get-session-counts
          description: Get Session Counts
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.getSessionCounts
          with:
            scope: tools.scope
            start_time: tools.start_time
            end_time: tools.end_time
            fields: tools.fields
            query: tools.query
            size: tools.size
          outputParameters:
            - type: object
              mapping: $.
        - name: export-pcap-multiple-sessions
          description: Export PCAP for Multiple Sessions
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.exportSessionsPcap
          with:
            scope: tools.scope
            start_time: tools.start_time
            end_time: tools.end_time
            query: tools.query
            size: tools.size
            sort_by: tools.sort_by
            sort_desc: tools.sort_desc
          outputParameters:
            - type: object
              mapping: $.
        - name: get-session-fields
          description: Get Session Fields
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.getSessionFields
          with:
            scope: tools.scope
          outputParameters:
            - type: object
              mapping: $.
        - name: get-session-timeseries
          description: Get Session Timeseries
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.getSessionTimeseries
          with:
            scope: tools.scope
            start_time: tools.start_time
            end_time: tools.end_time
            query: tools.query
            field: tools.field
            size: tools.size
            interval: tools.interval
          outputParameters:
            - type: object
              mapping: $.
        - name: get-unique-field-values
          description: Get Unique Field Values
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.getSessionUniqueValues
          with:
            scope: tools.scope
            start_time: tools.start_time
            end_time: tools.end_time
            field: tools.field
            query: tools.query
            include_counts: tools.include_counts
          outputParameters:
            - type: object
              mapping: $.
        - name: get-session-id
          description: Get Session by ID
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.getSessionById
          with:
            scope: tools.scope
            session_id: tools.session_id
          outputParameters:
            - type: object
              mapping: $.
        - name: export-session-data
          description: Export Session Data
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.exportSessionData
          with:
            scope: tools.scope
            session_id: tools.session_id
            type: tools.type
          outputParameters:
            - type: object
              mapping: $.
        - name: get-session-pcap
          description: Get Session PCAP
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: greynoise-sessions.getSessionPcap
          with:
            scope: tools.scope
            session_id: tools.session_id
          outputParameters:
            - type: object
              mapping: $.