ISPs¶
Reference for the isps endpoints of the Surfmeter API.
Surfmeter API – ISPs v1¶
The Surfmeter API lets you manage clients, users, capabilities, measurements, and organization-wide settings programmatically.
Servers¶
| Description | URL |
|---|---|
| https://surfmeter-server.{host}/client_admin_api/v1 | https://surfmeter-server.{host}/client_admin_api/v1 |
ISPs¶
GET /isps¶
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
ApiKeyAuth |
header | string | N/A | No | API key used on every request. Create keys in the Surfmeter Dashboard under Keys → Surfmeter API Keys. |
country |
query | string | No | Two-letter ISO country code filter (e.g. "AT", "DE"). | |
name |
query | string | No | Case-insensitive substring match against the ISP name. When present, the response uses the compact combobox shape (id, name, country only) and is capped at 20 results. | |
type |
query | string | No | Filter by ISP type. Values outside the enum are ignored server-side. | |
verified |
query | boolean | No | Filter by verified status. |
Response 200 OK
{
"isps": [
{
"id": 0,
"name": "string",
"type": "string",
"alternative_names": [
"string"
],
"as_numbers": [
"string"
],
"country": "string",
"is_vpn": true,
"verified": true,
"created_at": "string",
"isp_contracts_count": 0
}
]
}
Schema of the response body
{
"description": "Response for ISPs index with all ISPs and full details (no pagination)",
"type": "object",
"required": [
"isps"
],
"properties": {
"isps": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"type",
"country"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"alternative_names": {
"type": "array",
"items": {
"type": "string"
}
},
"as_numbers": {
"type": "array",
"items": {
"type": "string"
}
},
"country": {
"type": "string"
},
"is_vpn": {
"type": "boolean",
"nullable": true
},
"verified": {
"type": "boolean",
"nullable": true
},
"created_at": {
"type": "string"
},
"isp_contracts_count": {
"type": "integer"
}
}
}
}
}
}
POST /isps¶
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
ApiKeyAuth |
header | string | N/A | No | API key used on every request. Create keys in the Surfmeter Dashboard under Keys → Surfmeter API Keys. |
Request body
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Response 201 Created
{
"isp": {
"id": 0,
"name": "string",
"type": "string",
"alternative_names": [
"string"
],
"as_numbers": [
"string"
],
"country": "string",
"is_vpn": true,
"verified": true,
"created_at": "string",
"isp_contracts_count": 0
}
}
Schema of the response body
{
"description": "Response for ISP create action",
"type": "object",
"required": [
"isp"
],
"properties": {
"isp": {
"type": "object",
"required": [
"id",
"name",
"type",
"country"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"alternative_names": {
"type": "array",
"items": {
"type": "string"
}
},
"as_numbers": {
"type": "array",
"items": {
"type": "string"
}
},
"country": {
"type": "string"
},
"is_vpn": {
"type": "boolean",
"nullable": true
},
"verified": {
"type": "boolean",
"nullable": true
},
"created_at": {
"type": "string"
},
"isp_contracts_count": {
"type": "integer"
}
}
}
}
}
GET /isps/{id}¶
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
ApiKeyAuth |
header | string | N/A | No | API key used on every request. Create keys in the Surfmeter Dashboard under Keys → Surfmeter API Keys. |
id |
path | string | No |
Response 200 OK
{
"isp": {
"id": 0,
"name": "string",
"type": "string",
"alternative_names": [
"string"
],
"as_numbers": [
"string"
],
"country": "string",
"is_vpn": true,
"verified": true,
"created_at": "string",
"isp_contracts_count": 0,
"isp_contracts": [
{
"id": 0,
"isp_id": 0,
"client_id": 0,
"upload_speed": 0,
"download_speed": 0,
"monthly_price": 10.12,
"currency": "string",
"assumed_tariff": "string",
"connection_type": "string",
"name": "string",
"valid_from": "string",
"valid_until": "string",
"client_uuid": "string",
"client_label": "string"
}
]
}
}
Schema of the response body
{
"description": "Response for ISP show action with full details and contracts",
"type": "object",
"required": [
"isp"
],
"properties": {
"isp": {
"type": "object",
"required": [
"id",
"name",
"type",
"country"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"alternative_names": {
"type": "array",
"items": {
"type": "string"
}
},
"as_numbers": {
"type": "array",
"items": {
"type": "string"
}
},
"country": {
"type": "string"
},
"is_vpn": {
"type": "boolean",
"nullable": true
},
"verified": {
"type": "boolean",
"nullable": true
},
"created_at": {
"type": "string"
},
"isp_contracts_count": {
"type": "integer"
},
"isp_contracts": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"isp_id",
"client_id"
],
"properties": {
"id": {
"type": "integer"
},
"isp_id": {
"type": "integer"
},
"client_id": {
"type": "integer"
},
"upload_speed": {
"type": "integer",
"nullable": true
},
"download_speed": {
"type": "integer",
"nullable": true
},
"monthly_price": {
"type": "number",
"nullable": true
},
"currency": {
"type": "string",
"nullable": true
},
"assumed_tariff": {
"type": "string",
"nullable": true
},
"connection_type": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"valid_from": {
"type": "string",
"nullable": true
},
"valid_until": {
"type": "string",
"nullable": true
},
"client_uuid": {
"type": "string",
"nullable": true
},
"client_label": {
"type": "string",
"nullable": true
}
}
}
}
}
}
}
}
PUT /isps/{id}¶
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
ApiKeyAuth |
header | string | N/A | No | API key used on every request. Create keys in the Surfmeter Dashboard under Keys → Surfmeter API Keys. |
id |
path | string | No |
Request body
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.
Response 200 OK
{
"isp": {
"id": 0,
"name": "string",
"type": "string",
"alternative_names": [
"string"
],
"as_numbers": [
"string"
],
"country": "string",
"is_vpn": true,
"verified": true,
"created_at": "string",
"isp_contracts_count": 0
}
}
Schema of the response body
{
"description": "Response for ISP update action",
"type": "object",
"required": [
"isp"
],
"properties": {
"isp": {
"type": "object",
"required": [
"id",
"name",
"type",
"country"
],
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"alternative_names": {
"type": "array",
"items": {
"type": "string"
}
},
"as_numbers": {
"type": "array",
"items": {
"type": "string"
}
},
"country": {
"type": "string"
},
"is_vpn": {
"type": "boolean",
"nullable": true
},
"verified": {
"type": "boolean",
"nullable": true
},
"created_at": {
"type": "string"
},
"isp_contracts_count": {
"type": "integer"
}
}
}
}
}
DELETE /isps/{id}¶
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
ApiKeyAuth |
header | string | N/A | No | API key used on every request. Create keys in the Surfmeter Dashboard under Keys → Surfmeter API Keys. |
id |
path | string | No |
Response 200 OK
Schemas¶
IspCreateData¶
| Name | Type |
|---|---|
country |
string |
is_vpn |
boolean| null |
name |
string |
type |
string |
IspCreateResponse¶
| Name | Type |
|---|---|
isp |
Properties: id, name, type, alternative_names, as_numbers, country, is_vpn, verified, created_at, isp_contracts_count |
IspDestroyResponse¶
IspsAllIndexResponse¶
| Name | Type |
|---|---|
isps |
Array<Properties: id, name, type, alternative_names, as_numbers, country, is_vpn, verified, created_at, isp_contracts_count> |
IspShowResponse¶
| Name | Type |
|---|---|
isp |
Properties: id, name, type, alternative_names, as_numbers, country, is_vpn, verified, created_at, isp_contracts_count, isp_contracts |
IspUpdateData¶
| Name | Type |
|---|---|
country |
string |
is_vpn |
boolean| null |
name |
string |
type |
string |
IspUpdateResponse¶
| Name | Type |
|---|---|
isp |
Properties: id, name, type, alternative_names, as_numbers, country, is_vpn, verified, created_at, isp_contracts_count |
Security schemes¶
| Name | Type | Scheme | Description |
|---|---|---|---|
| ApiKeyAuth | apiKey | API key used on every request. Create keys in the Surfmeter Dashboard under Keys → Surfmeter API Keys. |