Create an Availability Request

A request for availability and pricing by address or location is submitted as followed.

POST /availability-requests
[
  { // by address
    "address": {
      "country_code": "NL",
      "street": "Lijnbaansgracht",
      "city": "Amsterdam",
      "house_number_addition": "H",
      "house_number": "206",
      "postal_code": "1016 XA"
    }
  },
  { // by location/coordinates
    "address": {
      "coordinates": {
        "latitude": 52.36801, 
        "longitude": 4.879151
      }
    }
  }
]

The request should contain an array of addresses. This way you can request availability and pricing for multiple searches at once.

Response
{
  "data": [
      {
          "id": "d5d9a14e-1c26-4a1f-9ca7-68a3f3bcb6b8",
      },
      {
          "id": "926b2449-41f0-437d-bb08-43fff11addca"
      }
  ],
  "message": "Availability request(s) have been successfully created."
}

Returned are the IDs that will be assigned to the availability requests.

Filtered Availability Request

Filters can be added to the request for a more specific search. Filter options can be retrieved per country as followed. The Alpha-2 country code can be passed as a query parameter.

GET /availability-requests/options?country_code=NL
Response
{
    "data": {
        "filters": {
            "fields": [
                {
                    "country_code": "NL",
                    "required": false,
                    "name": "Country",
                    "key": "country_code",
                    "regex": ".*"
                },
                {
                    "country_code": "NL",
                    "required": false,
                    "name": "City",
                    "key": "city",
                    "regex": ".*"
                },
                {
                    "country_code": "NL",
                    "required": false,
                    "name": "Street",
                    "key": "street",
                    "regex": ".*"
                },
                {
                    "country_code": "NL",
                    "required": true,
                    "name": "Postal code",
                    "key": "postal_code",
                    "regex": "^\\d{4}[ ]?[A-Z]{2}$"
                },
                {
                    "country_code": "NL",
                    "required": true,
                    "name": "House number",
                    "key": "house_number",
                    "regex": ".*"
                },
                {
                    "country_code": "NL",
                    "required": false,
                    "name": "House number addition",
                    "key": "house_number_addition",
                    "regex": ".*"
                }
            ],
            "filters": {
                "technology_types": [
                    "COPPER",
                    "FIBER",
                    "ADSL",
                    "BVDSL",
                    "FTTH",
                    "VDSL",
                    "VPLUS"
                ],
                "connection_types": [
                    "DIA",
                    "SHARED"
                ],
                "networks": [
                    "Colt",
                    "Eurofiber",
                    "KPN",
                    "Tele2",
                    "Ziggo",
                    "Zayo"
                ],
                "bandwidths": [
                    {
                        "download": 2000,
                        "upload": 2000
                    },
                    {
                        "download": 5000,
                        "upload": 5000
                    },
                    {
                        "download": 10000,
                        "upload": 10000
                    },
                    {
                        "download": 20000,
                        "upload": 20000
                    },
                    {
                        "download": 50000,
                        "upload": 50000
                    },
                    {
                        "download": 100000,
                        "upload": 100000
                    },
                    {
                        "download": 200000,
                        "upload": 200000
                    },
                    {
                        "download": 500000,
                        "upload": 500000
                    },
                    {
                        "download": 1000000,
                        "upload": 1000000
                    },
                    {
                        "download": 2000000,
                        "upload": 2000000
                    },
                    {
                        "download": 4000000,
                        "upload": 4000000
                    },
                    {
                        "download": 10000000,
                        "upload": 10000000
                    },
                    {
                        "download": 30000,
                        "upload": 3000
                    },
                    {
                        "download": 50000,
                        "upload": 0
                    },
                    {
                        "download": 50000,
                        "upload": 10000
                    },
                    {
                        "download": 100000,
                        "upload": 30000
                    },
                    {
                        "download": 200000,
                        "upload": 0
                    },
                    {
                        "download": 200000,
                        "upload": 30000
                    },
                    {
                        "download": 200000,
                        "upload": 60000
                    },
                    {
                        "download": 30000,
                        "upload": 30000
                    },
                    {
                        "download": 40000,
                        "upload": 40000
                    },
                    {
                        "download": 600000,
                        "upload": 600000
                    },
                    {
                        "download": 700000,
                        "upload": 700000
                    },
                    {
                        "download": 5000000,
                        "upload": 5000000
                    }
                ],
                "contract_terms": [
                    12,
                    24,
                    36,
                    48,
                    60
                ]
            }
        }
    }
}

And example of applied filters below:

POST /availability-requests
[
  {
    "address": {
      "street": "Lijnbaansgracht",
      "city": "Amsterdam",
      "house_number_addition": "H",
      "house_number": "206",
      "postal_code": "1016 XA",
      "country_code": "NL"
    },
    "bandwidths": [
        {
            "download": 10000,
            "upload": 10000
        },
        {
            "download": 50000,
            "upload": 50000
        },
    ],
    "networks": ["Colt", "Eurofiber", "Tele2"],
    "contract_terms": [12, 24],
    "connection_types": ["DIA"],
    "technology_types": ["FIBER"]
  }
]

Customers and Projects

Either a customer or a project can be attached to an availability request to apply customer-specific pricing.

POST /availability-requests
[
  {
    "address": {
      "street": "Lijnbaansgracht",
      "city": "Amsterdam",
      "house_number_addition": "H",
      "house_number": "206",
      "postal_code": "1016 XA",
      "country_code": "NL"
    },
    "customer_id": "0cc175b9c0f1b6a831c399e269772661",
    "project_id": "8fa14cdd754f91cc6554c9e71929cce7"
  }
]

Last updated

Was this helpful?