ISP Contracts¶
Reference for the isp_contracts endpoints of the Surfmeter API.
Surfmeter API – ISP Contracts 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 |
ISP Contracts¶
GET /clients/{client_id}/isp_contracts¶
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. |
client_id |
path | string | No |
Response 200 OK
{
"isp_contracts": [
{
"id": 0,
"isp_id": 0,
"isp_name": "string",
"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": "2026-01-15T10:30:00Z",
"valid_until": "2026-01-15T10:30:00Z"
}
]
}
Schema of the response body
{
"description": "Response for isp_contracts index action",
"type": "object",
"required": [
"isp_contracts"
],
"properties": {
"isp_contracts": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"isp_id",
"client_id",
"name",
"valid_from"
],
"properties": {
"id": {
"type": "integer"
},
"isp_id": {
"type": "integer"
},
"isp_name": {
"type": "string",
"nullable": true
},
"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",
"format": "date-time",
"example": "2026-01-15T10:30:00Z"
},
"valid_until": {
"type": "string",
"format": "date-time",
"nullable": true,
"example": "2026-01-15T10:30:00Z"
}
}
}
}
}
}
POST /clients/{client_id}/isp_contracts¶
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. |
client_id |
path | string | No |
Request body
{
"isp_id": 0,
"name": "string",
"download_speed": 0,
"upload_speed": 0,
"connection_type": "string",
"monthly_price": 10.12,
"currency": "string",
"assumed_tariff": "string",
"valid_from": "2026-01-15T10:30:00Z",
"valid_until": "2026-01-15T10:30:00Z"
}
Schema of the request body
{
"description": "Request body for isp_contracts create and update actions",
"type": "object",
"required": [
"isp_id",
"name"
],
"properties": {
"isp_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"download_speed": {
"type": "integer",
"nullable": true
},
"upload_speed": {
"type": "integer",
"nullable": true
},
"connection_type": {
"type": "string",
"nullable": true
},
"monthly_price": {
"type": "number",
"nullable": true
},
"currency": {
"type": "string",
"nullable": true
},
"assumed_tariff": {
"type": "string",
"nullable": true
},
"valid_from": {
"type": "string",
"format": "date-time",
"nullable": true,
"example": "2026-01-15T10:30:00Z"
},
"valid_until": {
"type": "string",
"format": "date-time",
"nullable": true,
"example": "2026-01-15T10:30:00Z"
}
}
}
Response 201 Created
PUT /clients/{client_id}/isp_contracts/{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. |
client_id |
path | string | No | ||
id |
path | string | No |
Request body
{
"isp_id": 0,
"name": "string",
"download_speed": 0,
"upload_speed": 0,
"connection_type": "string",
"monthly_price": 10.12,
"currency": "string",
"assumed_tariff": "string",
"valid_from": "2026-01-15T10:30:00Z",
"valid_until": "2026-01-15T10:30:00Z"
}
Schema of the request body
{
"description": "Request body for isp_contracts create and update actions",
"type": "object",
"required": [
"isp_id",
"name"
],
"properties": {
"isp_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"download_speed": {
"type": "integer",
"nullable": true
},
"upload_speed": {
"type": "integer",
"nullable": true
},
"connection_type": {
"type": "string",
"nullable": true
},
"monthly_price": {
"type": "number",
"nullable": true
},
"currency": {
"type": "string",
"nullable": true
},
"assumed_tariff": {
"type": "string",
"nullable": true
},
"valid_from": {
"type": "string",
"format": "date-time",
"nullable": true,
"example": "2026-01-15T10:30:00Z"
},
"valid_until": {
"type": "string",
"format": "date-time",
"nullable": true,
"example": "2026-01-15T10:30:00Z"
}
}
}
Response 200 OK
DELETE /clients/{client_id}/isp_contracts/{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. |
client_id |
path | string | No | ||
id |
path | string | No |
Response 200 OK
Schemas¶
IspContractData¶
| Name | Type |
|---|---|
assumed_tariff |
string| null |
connection_type |
string| null |
currency |
string| null |
download_speed |
integer| null |
isp_id |
integer |
monthly_price |
number| null |
name |
string |
upload_speed |
integer| null |
valid_from |
string(date-time)| null |
valid_until |
string(date-time)| null |
IspContractIndexResponse¶
| Name | Type |
|---|---|
isp_contracts |
Array<Properties: id, isp_id, isp_name, client_id, upload_speed, download_speed, monthly_price, currency, assumed_tariff, connection_type, name, valid_from, valid_until> |
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. |