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.
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
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: $.