Skip to content

public.servers.ports

GET
/servers/{server_uuid}/ports
curl --request GET \
--url 'https://rest.watchtower15.com/v1/servers/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ports?include_retired=true&include_total=true' \
--header 'Authorization: Bearer <token>'
server_uuid
required
string format: uuid
include_retired
string | null
Allowed values: true false 1 0
limit
integer | null
>= 1 <= 100
cursor
string | null
<= 512 characters
include_total
string | null
Allowed values: true false 1 0

ServersPortsResource

Media typeapplication/json
object
data
required
Array<object>
object
uuid
required
string
port
required
integer
protocol
required

One of tcp, udp.

string
bind_scope
required

any, loopback or specific; the addresses only for specific.

string
addresses
required

The bound addresses of a specific bind; empty for any other (never null: a nullable array is not a type the spec validator reads).

Array<string>
process_name
required

The owner’s kernel comm, never a command line.

string | null
is_open
required

Whether the port is listening now.

boolean
state
required

open or closed.

string
opened_at
required
integer | null
closed_at
required
integer | null
first_seen_at
required
integer | null
tracked
required

Whether a user asked for this ephemeral port to be tracked.

boolean
expected
required

Whether the port is marked as expected to be open.

boolean
charted
required

Whether the port has a series, alarms and a history: not ephemeral, or ephemeral and tracked.

boolean
health_status
required

One of unknown, healthy, warning, critical.

string
retired_at
required
integer | null
next_cursor
required
string | null
total

The whole list’s size; present only with include_total=true.

integer
meta
object
reported_at
required
integer | null
capped
required

Whether the cap on charted ports is full: new ports are then not added until one retires.

boolean

Example generated

{
"data": [
{
"uuid": "example",
"port": 1,
"protocol": "example",
"bind_scope": "example",
"addresses": [
"example"
],
"process_name": "example",
"is_open": true,
"state": "example",
"opened_at": 1,
"closed_at": 1,
"first_seen_at": 1,
"tracked": true,
"expected": true,
"charted": true,
"health_status": "example",
"retired_at": 1
}
],
"next_cursor": "example",
"total": 1,
"meta": {
"reported_at": 1,
"capped": true
}
}

The API key is missing, malformed, expired or revoked.

Media typeapplication/problem+json
Problem
object
type
required

https://docs.watchtower15.com/api/errors/<code>/

string format: uri
title
required
string
status
required
integer
code
required
string
detail
required
string
request_id
required
string
errors
object
key
additional properties
Array<string>
limit
integer
used
integer

Example generated

{
"type": "https://example.com",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"request_id": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"limit": 1,
"used": 1
}

The key or its owner does not hold what the operation needs.

Media typeapplication/problem+json
Problem
object
type
required

https://docs.watchtower15.com/api/errors/<code>/

string format: uri
title
required
string
status
required
integer
code
required
string
detail
required
string
request_id
required
string
errors
object
key
additional properties
Array<string>
limit
integer
used
integer

Example generated

{
"type": "https://example.com",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"request_id": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"limit": 1,
"used": 1
}

No such record in this organisation (an absent id and another organisation’s answer alike).

Media typeapplication/problem+json
Problem
object
type
required

https://docs.watchtower15.com/api/errors/<code>/

string format: uri
title
required
string
status
required
integer
code
required
string
detail
required
string
request_id
required
string
errors
object
key
additional properties
Array<string>
limit
integer
used
integer

Example generated

{
"type": "https://example.com",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"request_id": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"limit": 1,
"used": 1
}

The request is invalid; errors names the parameters.

Media typeapplication/problem+json
Problem
object
type
required

https://docs.watchtower15.com/api/errors/<code>/

string format: uri
title
required
string
status
required
integer
code
required
string
detail
required
string
request_id
required
string
errors
object
key
additional properties
Array<string>
limit
integer
used
integer

Example generated

{
"type": "https://example.com",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"request_id": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"limit": 1,
"used": 1
}

A rate limit or the organisation’s daily limit is reached; Retry-After says when to retry.

Media typeapplication/problem+json
Problem
object
type
required

https://docs.watchtower15.com/api/errors/<code>/

string format: uri
title
required
string
status
required
integer
code
required
string
detail
required
string
request_id
required
string
errors
object
key
additional properties
Array<string>
limit
integer
used
integer

Example generated

{
"type": "https://example.com",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"request_id": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"limit": 1,
"used": 1
}

An unexpected error.

Media typeapplication/problem+json
Problem
object
type
required

https://docs.watchtower15.com/api/errors/<code>/

string format: uri
title
required
string
status
required
integer
code
required
string
detail
required
string
request_id
required
string
errors
object
key
additional properties
Array<string>
limit
integer
used
integer

Example generated

{
"type": "https://example.com",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"request_id": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"limit": 1,
"used": 1
}