Geneos Netprobe REST API
OpenAPI 3.0 REST plug-in on the Geneos Netprobe. Third-party applications PUT JSON to create or update dataviews, rows and streams on a named managed entity and sampler, DELETE them, and GET a health check. Published by ITRS as a machine-readable contract and rendered with ReDoc in the Geneos documentation. The plug-in listens on the Netprobe host (HTTP 7136, HTTPS 7137 by default), so the base URL is the customer's own Netprobe.
PUT
/managedEntity/{me}/sampler/{sampler}(type)/dataview/{dataview}
Create or update a dataview
DELETE
/managedEntity/{me}/sampler/{sampler}(type)/dataview/{dataview}
Delete a dataview
PUT
/managedEntity/{me}/sampler/{sampler}(type)/dataview/{dataview}/row/{row}
Create or update a row
DELETE
/managedEntity/{me}/sampler/{sampler}(type)/dataview/{dataview}/row/{row}
Delete a row
PUT
/managedEntity/{me}/sampler/{sampler}(type)/stream/{stream}
Create or update a stream
GET
/healthcheck
Get health check
Documentation
Specifications
Other Resources
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/netprobe-rest-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
# Harvested verbatim from the ITRS Group Geneos documentation and republished here with a
# servers[] block added from the provider's own documented listening ports (roadmap#122).
# The untouched original is openapi/_original/geneos-netprobe-rest-api.yaml.
# generated: '2026-09-12'
# method: searched
# source: https://docs.itrsgroup.com/docs/geneos/api-sources/v1/rest-api.yaml
openapi: 3.0.0
info:
title: Netprobe REST API
version: 1.0.0
description: "## Overview\n\nThis is the REST API of the Netprobe. The Netprobe is Geneos' data collection\
\ component, therefore the API endpoints are all related to publishing data to the Netprobe. The REST\
\ API for retrieving data from Geneos is on the Gateway Hub.\n\nThe Netprobe API is implemented as\
\ a plug-in. It is available beginning GA4.12.x. Users may create multiple instances of the plug-in\
\ (samplers) and add them to Managed entities. When publishing data to the API, the Managed entity\
\ name and sampler name must be specified for each REST endpoint. The corresponding Managed entity\
\ and sampler must already exist.\n\nYou may put multiple REST API samplers with the same name on\
\ the same Managed entity via different types. In this case the type needs to be specified in the\
\ URL in parentheses. For example:\n\n`/myHost:myPort/v1/managedEntity/myManagedEntity/sampler/mySampler(myType)/stream/myStream`\n\
\nThe type can be omitted from the endpoint if the sampler name is unambiguous.\n> **Caution:** Depending\
\ on the rate of incoming requests, the REST API plug-in may be resource-intensive and can cause the\
\ Netprobe to reach its memory protection ratio. In cases where you encounter Netprobe restarts, consider\
\ increasing the memory protection ratio. For guidance, see [Netprobe Memory Protection Settings](https://docs.itrsgroup.com/docs/geneos/4.13.0/Netprobe/general/netprobe-memory-protection-settings.html).\
\ \n\n> Following RESTful API best practice, resource names must be unique. Avoid giving your samplers\
\ and dataviews the same name. Doing so could result in errors.\n\n## Outputs\nThe REST API can output\
\ the data into two formats:\n- As a dataview — accepts JSON content.\n- As a stream — accepts any\
\ message type, regardless of format.\n\nFor detailed examples of endpoints and their output dataviews\
\ and streams, see the [REST API Plug-in Technical Reference](https://docs.itrsgroup.com/docs/geneos/4.13.0/Netprobe/api/rest-api-plug-in-tr.html).\n\
\n## Listening port\nThe listening ports are provided on the probe level.\n\nAll REST API samplers\
\ share the same HTTP and HTTPS ports. By default, the ports are `7136` (HTTP) and `7137` (HTTPS).\n\
\nIf you wish to configure the listening ports or use an HTTPS connection for the REST API sampler,\
\ see [probes > probe > restApiHttpPort](https://docs.itrsgroup.com/docs/geneos/4.13.0/Gateway_Reference_Guide/gateway_probes.htm#probe-restApiHttpPort)\
\ and [probes > probe > restApiHttpsPort in Probes](https://docs.itrsgroup.com/docs/geneos/4.13.0/Gateway_Reference_Guide/gateway_probes.htm#probe-restApiHttpsPort).\n\
\n## Versioning \nThe API will be versioned. Versioning started with v1. Breaking changes will increment\
\ the version number.\n\nAdding new API endpoints is allowed without incrementing the version.\n\n\
## Licence and version requirements\nUsage of the REST API plug-in requires you to upgrade to the\
\ GA4.12.x Netprobe.\n\nIn addition, the Gateway must connect to the GA4.12.x Licence Daemon to validate\
\ the Gateway schema and tokens. For guidance, see [Geneos Licence Daemon](https://docs.itrsgroup.com/docs/geneos/4.13.0/LicenceDaemon/index.html).\n\
\n"
contact:
url: http://www.itrsgroup.com
servers:
- url: http://{netprobeHost}:{httpPort}/v1
description: Netprobe REST API plug-in listening port. Geneos is customer-deployed, so the host is the
machine running the Netprobe; the default insecure port is 7136 and the default secure (HTTPS) port
is 7137. Documented at https://docs.itrsgroup.com/docs/geneos/current/collection/rest-api/index.html#configure-the-listening-port-on-the-probe
variables:
netprobeHost:
default: localhost
description: Host name or IP address of the machine running the Netprobe with a rest-api sampler.
httpPort:
default: '7136'
description: REST API plug-in listening port. Default HTTP 7136; default HTTPS 7137 when the Netprobe
is started in secure mode.
paths:
/managedEntity/{me}/sampler/{sampler}(type)/dataview/{dataview}:
put:
tags:
- REST API
responses:
'200':
description: Updates the dataview with payload
'400':
description: 'Resource found, but unable to update
Reason Phrase
- Unable to create or update dataview
- Request has no body'
'404':
description: Unable to create resource
'500':
description: Failed to create update dataview due to server error (e.g. unhandled null pointer
exception)
summary: Create or update a dataview
description: 'Creates a new dataview to output the JSON content being received.
If the dataview name already exists, then the sampler updates the existing dataview.'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GeneosDataview'
examples:
Create or Update Dataview:
value:
- column1: dataA1
column2: dataA2
column3: dataA3
- column1: dataB1
column2: dataB2
column3: dataB3
- column1: dataC1
column2: dataC2
column3: dataC3
required: true
delete:
tags:
- REST API
responses:
'200':
description: Deleted
summary: Delete a dataview
description: Deletes an existing dataview.
parameters:
- name: Column-Order
description: "Specifies the order of the columns that appear in the dataview based on the fields\
\ on the JSON response.\n\nThe value should be a comma-separated list of JSON field names and\
\ contain at least one field.\n\n- The fields appear on the dataview in the order that you define.\
\ That is, the first field appears as the first column, the second field appears as the second\
\ column, and so on.\n- You do not need to define all possible fields when using `Column-Order`.\
\ However, only those fields that you define are guaranteed to follow an order.\n- If you define\
\ a field in the `Column-Order`, and this field does not appear in the JSON response, then the\
\ JSON response displays normally on the dataview, but the column for the missing field is not\
\ displayed. In addition, the Netprobe returns a warning message in the log.\n\nThis parameter\
\ only applies to the PUT operation. Setting it for other operations will have no effect.\n####\
\ Note: \n When you update the column order for an existing dataview, the dataview does not reflect\
\ the change immediately. To see the updated column order, click away from the Metrics dockable\
\ on the Active Console 2, then click the Metrics dockable again."
schema:
type: array
items:
type: string
in: header
required: false
- name: me
description: Name of the managed entity associated with the REST API sampler.
schema:
type: string
in: path
required: true
- name: sampler
description: Name of the REST API sampler to push content to.
schema:
type: string
in: path
required: true
- name: type
description: 'Name of the type that a sampler falls under.
This field is required if a sampler falls under a type and is not unique (for example, if two
samplers under different types share the same name).
The open and close parentheses `(` and `)` surrounding the type name are required in the endpoint.'
schema:
type: string
in: path
required: false
- name: dataview
description: 'Name of the dataview to be created, updated, or deleted.
#### Note:
You cannot use the name "Streams Dataview" as a dataview name. This name is reserved for displaying
stream information on the REST API plug-in. For more information, see [Dataview for Streams in
the REST API Plug-in Technical Reference](https://docs.itrsgroup.com/docs/geneos/4.13.0/Netprobe/api/rest-api-plug-in-tr.html#dataview-for-streams). '
schema:
type: string
in: path
required: true
/managedEntity/{me}/sampler/{sampler}(type)/dataview/{dataview}/row/{row}:
put:
tags:
- REST API
responses:
'200':
description: Row updated
'400':
description: 'Row found but unable to update
Reason Phrase
- Unable to create or update row
- Request has no body'
'404':
description: Unable to create new row
'500':
description: Server error (e.g. null pointer exception)
summary: Create or update a row
description: 'Creates a new row on an existing dataview. The new row appears with the content of
the HTTP body.
If the row name already exists, then the sampler updates the existing row.'
delete:
tags:
- REST API
responses:
'200':
description: Row deleted successfully.
summary: Delete a row
description: 'Deletes an existing row from the dataview.
If multiple rows share the same name, then the plug-in deletes the first row it finds that matches
the name. This includes rows that the Netprobe tags as duplicates.
When you delete a row, you do not need to specify the HTTP body. Any content in the HTTP body
is ignored.'
parameters:
- name: me
description: Name of the managed entity associated with the REST API sampler.
schema:
type: string
in: path
required: true
- name: sampler
description: Name of the REST API sampler where the dataview is located
schema:
type: string
in: path
required: true
- name: type
description: 'Name of the type that a sampler falls under.
This field is required if a sampler falls under a type and is not unique (for example, if two
samplers under different types share the same name).
The open and close parentheses `(` and `)` surrounding the type name are required in the endpoint.'
schema:
type: string
in: path
required: false
- name: dataview
description: 'Name of the dataview containing the row to be added, updated, or deleted.
The dataview must exit. Otherwise, the request will fail.
#### Note:
You cannot use "Streams Dataview" as a dataview name. This name is reserved for displaying stream
information on the REST API plug-in. For more information, see [Dataview for Streams in the REST
API Plug-in Technical Reference](https://docs.itrsgroup.com/docs/geneos/4.13.0/Netprobe/api/rest-api-plug-in-tr.html#dataview-for-streams). '
schema:
type: string
in: path
required: true
- name: row
description: 'Name of the row to be added, updated, or deleted.
When deleting a row, the row name must already exist. Otherwise, the request will fail.
If multiple rows share the same name, then the plug-in deletes the first row it finds that matches
the name. This includes rows that the Netprobe tags as duplicates.'
schema:
type: string
in: path
required: true
/managedEntity/{me}/sampler/{sampler}(type)/stream/{stream}:
put:
tags:
- REST API
responses:
'200':
description: Written to stream
'400':
description: 'Stream exists, but unable to update
Reason Phrase
- Request has no body
- Stream exists, but unable to update'
'404':
description: Unable to create stream
summary: Create or update a stream
description: 'Publishes data to Netprobe streams. Netprobe streams can be used in FKM samplers to
scan for keywords and generate alerts.
This endpoint can receive any message type. If the stream name already exists, then the sampler
updates the existing stream.
'
requestBody:
content:
text/plain:
schema:
type: array
items:
type: string
examples:
Plain text:
value: 'This is a valid payload for the stream endpoint
This is the 2nd line
Multiple lines are supported'
required: true
parameters:
- name: me
description: Name of the managed entity associated with the REST API sampler.
schema:
type: string
in: path
required: true
- name: sampler
description: Name of the REST API sampler to push content to.
schema:
type: string
in: path
required: true
- name: type
description: 'Name of the type that a sampler falls under.
This field is required if a sampler falls under a type and is not unique (for example, if two
samplers under different types share the same name).
The open and close parentheses `(` and `)` surrounding the type name are required in the endpoint.'
schema:
type: string
in: path
required: false
- name: stream
description: Name of the stream to be created or updated.
schema:
type: string
in: path
required: true
/healthcheck:
get:
tags:
- REST API
responses:
'200':
description: There is at least one REST API sampler that is configured on the Netprobe and is
accepting connections.
'500':
description: A REST API sampler may be running, but is not ready.
summary: Get health check
description: "Queries the REST API server for availability.\nIf the server returns a 200 HTTP response\
\ code, then it means...\n\n - One or more REST API samplers are configured to run on the Netprobe.\n\
\ - A REST API sampler is ready to accept messages."
tags:
- name: REST API
description: REST API plug-in
components:
schemas:
GeneosDataview:
title: Root Type for GeneosDataview
description: Geneos Dataview
type: array
items:
type: object
example: "[\n{\n \"trace_id\": 1989548194574808800,\n \"name\": \"servlet.request\",\n \"type\"\
: \"web\",\n \"status\": \"200\",\n \"duration\": 1004252,\n \"url\": \"http://localhost:8080/bg-button.png\"\
,\n \"thread\": \"http-nio-8080-exec-7\"\n},\n{\n \"trace_id\": 8421096758666453000,\n \"name\"\
: \"servlet.request\",\n \"type\": \"web\",\n \"status\": \"200\",\n \"duration\": 901195,\n \"\
url\": \"http://localhost:8080/bg-middle.png\",\n \"thread\": \"http-nio-8080-exec-8\"\n}\n]"