Skip to content

ISP Contracts

Reference for the isp_contracts endpoints of the Surfmeter API.

Surfmeter APIISP 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"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

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.