{
  "info": {
    "name": "Giant Reseller API 4.13",
    "description": "Generated from https://portal.giant.net.uk/partner/api/v1/openapi.json. Set the bearerToken variable to one of your API keys — a sandbox key (test_…) reads your real data and simulates every change. Full guide: https://portal.giant.net.uk/partner/api/v1/guide.pdf",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{bearerToken}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://portal.giant.net.uk/partner/api/v1"
    },
    {
      "key": "bearerToken",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Catalogue and account",
      "item": [
        {
          "name": "Credit balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/balance",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "balance"
              ]
            },
            "description": "The credit held on your account. For what you owe, see InvoicesBalance."
          }
        },
        {
          "name": "List payment methods",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/payment-methods",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payment-methods"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "The payment methods accepted for OrderNow."
          }
        },
        {
          "name": "List products",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/products",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "products"
              ],
              "query": [
                {
                  "key": "category",
                  "value": "",
                  "description": "Only this category: voip, broadband, mobile or rps.",
                  "disabled": true
                },
                {
                  "key": "product_id",
                  "value": "",
                  "description": "Return only this product.",
                  "disabled": true
                },
                {
                  "key": "group_id",
                  "value": "",
                  "description": "Return only products in this group.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "The wholesale products you can order (VoIP, broadband, mobile and UnifiedRPS), priced in your account currency, with their custom fields and configurable options.\n\nOnly the wholesale range is listed, less retired products, and only it can be ordered: OrderNow and ProductUpgrade refuse any other product (403 not_available). Hardware has its own endpoints (HardwareProducts)."
          }
        }
      ]
    },
    {
      "name": "Orders",
      "item": [
        {
          "name": "Order status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders"
              ],
              "query": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Return only this order.",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "Pending, Active, Fraud or Cancelled.",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Offset for paging.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size (default 25).",
                  "disabled": true
                }
              ]
            },
            "description": "Your orders and their status."
          }
        },
        {
          "name": "Place an order",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders"
              ]
            },
            "description": "Place an order on your account. Pricing, promotions and invoicing follow your account terms; override fields are ignored."
          }
        },
        {
          "name": "Order status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/orders/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":id"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "Pending, Active, Fraud or Cancelled.",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Offset for paging.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size (default 25).",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "",
                  "description": "Return only this order."
                }
              ]
            },
            "description": "Your orders and their status."
          }
        }
      ]
    },
    {
      "name": "Service lifecycle",
      "item": [
        {
          "name": "Service details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/orders/:order_id/service",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":order_id",
                "service"
              ],
              "variable": [
                {
                  "key": "order_id",
                  "value": "",
                  "description": "The order id returned by OrderNow."
                }
              ]
            },
            "description": "The service created by one of your orders: its service id (what the VoIP, broadband, mobile and UnifiedRPS endpoints take), product id, status, domain, dates and custom field values."
          }
        },
        {
          "name": "Terminate a service",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/orders/:order_id/service",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":order_id",
                "service"
              ],
              "variable": [
                {
                  "key": "order_id",
                  "value": "",
                  "description": "The order id returned by OrderNow."
                }
              ]
            },
            "description": "Permanently terminate a service. This cannot be undone.\n\n**This cannot be undone.**"
          }
        },
        {
          "name": "Suspend a service",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/orders/:order_id/service/suspend",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":order_id",
                "service",
                "suspend"
              ],
              "variable": [
                {
                  "key": "order_id",
                  "value": "",
                  "description": "The order id returned by OrderNow."
                }
              ]
            },
            "description": "Suspend the service created by one of your orders."
          }
        },
        {
          "name": "Unsuspend a service",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/orders/:order_id/service/unsuspend",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":order_id",
                "service",
                "unsuspend"
              ],
              "variable": [
                {
                  "key": "order_id",
                  "value": "",
                  "description": "The order id returned by OrderNow."
                }
              ]
            },
            "description": "Reactivate a service you suspended."
          }
        },
        {
          "name": "Upgrade a service",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/orders/:order_id/service/upgrade",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "orders",
                ":order_id",
                "service",
                "upgrade"
              ],
              "variable": [
                {
                  "key": "order_id",
                  "value": "",
                  "description": "The order id returned by OrderNow."
                }
              ]
            },
            "description": "Move a service to another product or change its configurable options."
          }
        }
      ]
    },
    {
      "name": "Availability and pricing",
      "item": [
        {
          "name": "Find addresses",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/addresses",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "addresses"
              ],
              "query": [
                {
                  "key": "postcode",
                  "value": "",
                  "description": "A UK postcode.",
                  "disabled": false
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "The addresses at a postcode, each with the UPRN (or ALK and district for a new build) that availability checks and orders take."
          }
        },
        {
          "name": "Broadband availability",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/availability",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "availability"
              ],
              "query": [
                {
                  "key": "uprn",
                  "value": "",
                  "description": "The address's UPRN, from AddressLookup.",
                  "disabled": true
                },
                {
                  "key": "alk",
                  "value": "",
                  "description": "For an address without a UPRN (a new build): its ALK.",
                  "disabled": true
                },
                {
                  "key": "district",
                  "value": "",
                  "description": "With alk: the district code.",
                  "disabled": true
                }
              ]
            },
            "description": "Every broadband package available at an address, with your wholesale pricing.\n\nPass a uprn, or an alk with its district. A package with preorder_only set takes registrations of interest, not orders."
          }
        },
        {
          "name": "Broadband price list",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/prices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "prices"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "The whole broadband range with your pricing, without an address."
          }
        }
      ]
    },
    {
      "name": "Leased line quotes",
      "item": [
        {
          "name": "Saved leased line quotes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/leased-lines/saved-quotes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "leased-lines",
                "saved-quotes"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your saved leased line quotes, with prices and expiry."
          }
        },
        {
          "name": "Save a leased line quote",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/leased-lines/saved-quotes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "leased-lines",
                "saved-quotes"
              ]
            },
            "description": "File a quote under your customer's name so it is held for ordering, and add it to your saved quotes. Nothing is ordered."
          }
        },
        {
          "name": "Start a leased line quote",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/leased-lines/searches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "leased-lines",
                "searches"
              ]
            },
            "description": "Ask every carrier for leased line prices at an address. Returns a search id to poll with LeasedLineResults.\n\nSearches that go to the carriers are limited per hour; a reused (cached) search does not count."
          }
        },
        {
          "name": "Leased line quote results",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/leased-lines/searches/:search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "leased-lines",
                "searches",
                ":search"
              ],
              "variable": [
                {
                  "key": "search",
                  "value": "",
                  "description": "The id from LeasedLineSearch."
                }
              ]
            },
            "description": "The prices a search has gathered so far. Poll every few seconds until ready is true."
          }
        }
      ]
    },
    {
      "name": "Diagnostics and estate",
      "item": [
        {
          "name": "Broadband connection status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/connections",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "connections"
              ],
              "query": [
                {
                  "key": "username",
                  "value": "",
                  "description": "Only lines whose username contains this.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your live broadband lines and whether each is online right now, offline lines first."
          }
        },
        {
          "name": "Broadband order tracking",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/order-tracking",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "order-tracking"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your broadband installations in progress: stage, dates and what happens next."
          }
        },
        {
          "name": "FTTP live and forecast",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/fttp",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "fttp"
              ],
              "query": [
                {
                  "key": "postcode",
                  "value": "",
                  "description": "The postcode.",
                  "disabled": true
                },
                {
                  "key": "uprn",
                  "value": "",
                  "description": "The address's UPRN, from AddressLookup.",
                  "disabled": true
                },
                {
                  "key": "town",
                  "value": "",
                  "description": "The town. Pass at least one of postcode, uprn and town.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "",
                  "description": "live (default) or forecast.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Whether full fibre is live at an address, or when it is forecast."
          }
        },
        {
          "name": "Phone number lookup",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/numbers/:number",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "numbers",
                ":number"
              ],
              "variable": [
                {
                  "key": "number",
                  "value": "",
                  "description": "The number, national or +44."
                }
              ]
            },
            "description": "Who a UK number is with and what kind of number it is."
          }
        },
        {
          "name": "Openreach line check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/openreach/line-check",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "openreach",
                "line-check"
              ],
              "query": [
                {
                  "key": "uprn",
                  "value": "",
                  "description": "The address's UPRN.",
                  "disabled": false
                }
              ]
            },
            "description": "What Openreach has at an address: lines, their status and what can be ordered on them."
          }
        },
        {
          "name": "Number port requests",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/port-requests",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "port-requests"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Every number port on your phone services: numbers, status, carrier updates and port date."
          }
        }
      ]
    },
    {
      "name": "Broadband ordering",
      "item": [
        {
          "name": "Order broadband",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/orders/:op",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "orders",
                ":op"
              ],
              "variable": [
                {
                  "key": "op",
                  "value": "",
                  "description": "The step, from the table below."
                }
              ]
            },
            "description": "Order broadband at an address step by step, as in the order builder: choose the install type, options and add-ons, book an engineer, accept the contract, and place the order on your account.\n\nplace creates a real WHMCS order and invoice and starts provisioning. With a sandbox key, appointment and place are simulated (no slot is held, nothing is ordered, and the draft is cancelled); every other step runs for real against a draft order."
          }
        }
      ]
    },
    {
      "name": "Broadband services: status",
      "item": [
        {
          "name": "List broadband services",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "Only services in this status, e.g. Active or Pending.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 200 (default 50).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your broadband services, newest first."
          }
        },
        {
          "name": "Service summary",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "What the service is and how it has been doing: plan, Boost+ and wholesale features, lifetime totals and 30-day uptime."
          }
        },
        {
          "name": "Authentication state",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/auth",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "auth"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Whether the line is suspended or blocked, and whether you can change that."
          }
        },
        {
          "name": "Authentication log",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/auth-logs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "auth-logs"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 500 (default 100).",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Sign-in attempts over the last two months, newest first, accepted or rejected."
          }
        },
        {
          "name": "Boost+ status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/boost",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "boost"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Whether Boost+ is on, until when, and past boosts."
          }
        },
        {
          "name": "Content filter",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/content-filter",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "content-filter"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "The DNS content filter in force and the choices."
          }
        },
        {
          "name": "Line diagnostics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/diagnostics",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "diagnostics"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Which readings the line offers, and whether you may run tests and fixes."
          }
        },
        {
          "name": "Diagnostic reading",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/diagnostics/:section/:key",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "diagnostics",
                ":section",
                ":key"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                },
                {
                  "key": "section",
                  "value": "",
                  "description": "health or tests."
                },
                {
                  "key": "key",
                  "value": "",
                  "description": "A key from BroadbandDiagnostics."
                }
              ]
            },
            "description": "One reading, asked live of the carrier or RADIUS. Can take up to a minute."
          }
        },
        {
          "name": "IP addresses",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/ips",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "ips"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "The address the line holds now and the ones it has had."
          }
        },
        {
          "name": "Online now",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/online",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "online"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Whether the line is signed in right now, with its IP and how long for."
          }
        },
        {
          "name": "Installation progress",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/order-progress",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "order-progress"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Where the installation order is: the steps so far and what happens next."
          }
        },
        {
          "name": "Router",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/router",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "router"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "The router as our management system sees it: model, uptime, external IP and Wi-Fi radios."
          }
        },
        {
          "name": "Devices on the router",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/router/devices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "router",
                "devices"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "What is connected to the router."
          }
        },
        {
          "name": "Session history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/sessions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "sessions"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 500 (default 100).",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Sessions over the last two months, newest first."
          }
        },
        {
          "name": "Data usage",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/usage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "usage"
              ],
              "query": [
                {
                  "key": "range",
                  "value": "",
                  "description": "week (default), month (calendar month so far) or 30days.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Daily download and upload in GB, to yesterday."
          }
        }
      ]
    },
    {
      "name": "Broadband services: line and router control",
      "item": [
        {
          "name": "Suspend or resume authentication",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/auth/:action",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "auth",
                ":action"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                },
                {
                  "key": "action",
                  "value": "",
                  "description": "suspend or resume."
                }
              ]
            },
            "description": "Move the line to the restricted profile, or back, without touching billing. Products with wholesale features; Active services only."
          }
        },
        {
          "name": "Turn Boost+ on or off",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/boost/:action",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "boost",
                ":action"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                },
                {
                  "key": "action",
                  "value": "",
                  "description": "enable or disable."
                }
              ]
            },
            "description": "Boost to the product's boosted profile for 24 hours, or end a boost early. Boosts are billed."
          }
        },
        {
          "name": "Change the content filter",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/content-filter",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "content-filter"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Set the DNS content filter. Drops the session by default so it applies at once."
          }
        },
        {
          "name": "Disconnect the session",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/disconnect",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "disconnect"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Drop the live session; the router signs straight back in. Once every two minutes."
          }
        },
        {
          "name": "Apply a line fix",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/line-fixes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "line-fixes"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Reset the broadband, reset the port or resync RADIUS at the carrier. Drops the line. Wholesale only; one every fifteen minutes."
          }
        },
        {
          "name": "Run a line test",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/line-tests",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "line-tests"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Ask the carrier to test the line. One every five minutes per line."
          }
        },
        {
          "name": "Send credentials to the router",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/router/credentials",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "router",
                "credentials"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Send the line's PPPoE username and password to the router again, e.g. after a factory reset. Once every ten minutes."
          }
        },
        {
          "name": "Change Wi-Fi",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/broadband/services/:service_id/router/wifi",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "broadband",
                "services",
                ":service_id",
                "router",
                "wifi"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The broadband service id, from BroadbandServices."
                }
              ]
            },
            "description": "Change Wi-Fi names and passwords on the router. Wi-Fi drops briefly."
          }
        }
      ]
    },
    {
      "name": "UnifiedRPS",
      "item": [
        {
          "name": "List UnifiedRPS services",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your UnifiedRPS services, with each one's device quota and the manufacturers it allows."
          }
        },
        {
          "name": "UnifiedRPS service summary",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services/:service_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services",
                ":service_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The UnifiedRPS service, from RpsServices."
                }
              ]
            },
            "description": "Device counts by status and manufacturer, recent activity, and the service's limits."
          }
        },
        {
          "name": "Provisioning audit log",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services/:service_id/audit",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services",
                ":service_id",
                "audit"
              ],
              "query": [
                {
                  "key": "action",
                  "value": "",
                  "description": "Only this action, e.g. add, remove, check.",
                  "disabled": true
                },
                {
                  "key": "manufacturer",
                  "value": "",
                  "description": "Only this manufacturer.",
                  "disabled": true
                },
                {
                  "key": "success",
                  "value": "",
                  "description": "Only successes (true) or failures (false).",
                  "disabled": true
                },
                {
                  "key": "since",
                  "value": "",
                  "description": "From this date (YYYY-MM-DD).",
                  "disabled": true
                },
                {
                  "key": "until",
                  "value": "",
                  "description": "Up to this date.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 500 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The UnifiedRPS service, from RpsServices."
                }
              ]
            },
            "description": "Every add, remove and check on the service, newest first."
          }
        },
        {
          "name": "List devices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services/:service_id/devices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services",
                ":service_id",
                "devices"
              ],
              "query": [
                {
                  "key": "manufacturer",
                  "value": "",
                  "description": "Only this manufacturer.",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "active, removed or failed.",
                  "disabled": true
                },
                {
                  "key": "mac",
                  "value": "",
                  "description": "Part of a MAC address.",
                  "disabled": true
                },
                {
                  "key": "model",
                  "value": "",
                  "description": "Only this model.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 200 (default 50).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The UnifiedRPS service, from RpsServices."
                }
              ]
            },
            "description": "The devices on the service, most recently synced first."
          }
        },
        {
          "name": "Add a device",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services/:service_id/devices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services",
                ":service_id",
                "devices"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The UnifiedRPS service, from RpsServices."
                }
              ]
            },
            "description": "Register a handset with its manufacturer's redirect service, so it finds its provisioning server when it first starts.\n\nThe service's device quota and manufacturers apply. A MAC another account holds answers 409 conflict; with takeover the other account is asked to approve a transfer (outcome transfer_requested): add the MAC again once it has. With a sandbox key every check runs and nothing is registered."
          }
        },
        {
          "name": "Enrol a Yealink device in YMCS",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services/:service_id/devices/yealink/:mac/ymcs-enrolment",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services",
                ":service_id",
                "devices",
                "yealink",
                ":mac",
                "ymcs-enrolment"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The UnifiedRPS service, from RpsServices."
                },
                {
                  "key": "mac",
                  "value": "",
                  "description": "The MAC address of a Yealink device on the service."
                }
              ]
            },
            "description": "Enrol a Yealink handset already on the service in Yealink's device management (YMCS), beyond redirection."
          }
        },
        {
          "name": "Device",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services/:service_id/devices/:manufacturer/:mac",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services",
                ":service_id",
                "devices",
                ":manufacturer",
                ":mac"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The UnifiedRPS service, from RpsServices."
                },
                {
                  "key": "manufacturer",
                  "value": "",
                  "description": "yealink, polycom, fanvil, grandstream, snom, gigaset, auerswald or panasonic."
                },
                {
                  "key": "mac",
                  "value": "",
                  "description": "The MAC address, with or without separators."
                }
              ]
            },
            "description": "One device as recorded on the service."
          }
        },
        {
          "name": "Remove a device",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services/:service_id/devices/:manufacturer/:mac",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services",
                ":service_id",
                "devices",
                ":manufacturer",
                ":mac"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The UnifiedRPS service, from RpsServices."
                },
                {
                  "key": "manufacturer",
                  "value": "",
                  "description": "yealink, polycom, fanvil, grandstream, snom, gigaset, auerswald or panasonic."
                },
                {
                  "key": "mac",
                  "value": "",
                  "description": "The MAC address, with or without separators."
                }
              ]
            },
            "description": "Deregister a device from its manufacturer's redirect service.\n\nOnly devices on this service. With a sandbox key nothing is removed."
          }
        },
        {
          "name": "Check a device with its manufacturer",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rps/services/:service_id/devices/:manufacturer/:mac/check",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rps",
                "services",
                ":service_id",
                "devices",
                ":manufacturer",
                ":mac",
                "check"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The UnifiedRPS service, from RpsServices."
                },
                {
                  "key": "manufacturer",
                  "value": "",
                  "description": "yealink, polycom, fanvil, grandstream, snom, gigaset, auerswald or panasonic."
                },
                {
                  "key": "mac",
                  "value": "",
                  "description": "The MAC address, with or without separators."
                }
              ]
            },
            "description": "Ask the manufacturer's redirect service, now, whether the device is registered.\n\nA live call to the manufacturer; it is recorded in the audit log."
          }
        }
      ]
    },
    {
      "name": "Invoices and payments",
      "item": [
        {
          "name": "List invoices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "Only invoices in this status: Unpaid, Overdue (unpaid and past due), Paid, Cancelled, Refunded, Collections or Payment Pending.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 200 (default 50).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your invoices, newest first."
          }
        },
        {
          "name": "Outstanding balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices/balance",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices",
                "balance"
              ]
            },
            "description": "What your account owes on unpaid invoices, with your credit shown beside it (not taken off).\n\nCredit and outstanding are separate: credit is money held for you, outstanding is what invoices still need. Credit is only used when you pay with source credit (InvoicePay, InvoicePayAll). GetBalance (GET /balance) gives the credit alone."
          }
        },
        {
          "name": "Pay all unpaid invoices",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices/payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices",
                "payments"
              ]
            },
            "description": "Pay every unpaid invoice, oldest due first (up to 50), from the payment method on file or with your account credit.\n\nThis takes real payments. Each invoice is a separate attempt: a decline on one does not stop the others. With credit it stops paying when the credit runs out. Paying all from the payment method on file can be run once every 10 minutes. With a sandbox key nothing is taken."
          }
        },
        {
          "name": "Unpaid invoices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices/unpaid",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices",
                "unpaid"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Everything you owe: your unpaid invoices, oldest due first, with the total due, what is overdue and your account credit."
          }
        },
        {
          "name": "Invoice",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices/:invoice_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices",
                ":invoice_id"
              ],
              "variable": [
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": "The invoice id, from Invoices."
                }
              ]
            },
            "description": "One invoice, with its lines and the payments made against it."
          }
        },
        {
          "name": "Pay an invoice",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices/:invoice_id/payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices",
                ":invoice_id",
                "payments"
              ],
              "variable": [
                {
                  "key": "invoice_id",
                  "value": "",
                  "description": "The invoice id, from Invoices."
                }
              ]
            },
            "description": "Pay one unpaid invoice in full from the payment method on file, or with your account credit.\n\nThis takes a real payment. The payment method on file can be tried once per invoice every 10 minutes. A declined payment answers 422 refused; nothing is charged. With a sandbox key every check runs and nothing is taken (outcome simulated)."
          }
        }
      ]
    },
    {
      "name": "Hardware: catalogue and quotes",
      "item": [
        {
          "name": "Hardware categories",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/hardware/categories",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hardware",
                "categories"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Product categories, with how many products are in each."
          }
        },
        {
          "name": "List hardware",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/hardware/products",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hardware",
                "products"
              ],
              "query": [
                {
                  "key": "category",
                  "value": "",
                  "description": "Only this category (names from HardwareCategories).",
                  "disabled": true
                },
                {
                  "key": "brand",
                  "value": "",
                  "description": "Only this brand, e.g. yealink.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "",
                  "description": "device, accessory or spare.",
                  "disabled": true
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "Matches the SKU, name or brand.",
                  "disabled": true
                },
                {
                  "key": "in_stock",
                  "value": "",
                  "description": "Only products in stock now.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Handsets, headsets and accessories you can order, at your prices, with stock.\n\nPrices are ex VAT and include your discounts. tier_prices are the unit prices when you order at least that many of one product. Out-of-stock products can still be ordered as pre-orders unless they are end of life. zero_touch products can be set up on a VoIP service automatically when they ship."
          }
        },
        {
          "name": "Hardware product",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/hardware/products/:sku",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hardware",
                "products",
                ":sku"
              ],
              "variable": [
                {
                  "key": "sku",
                  "value": "",
                  "description": "The product SKU, from HardwareProducts."
                }
              ]
            },
            "description": "One product, with its full description."
          }
        },
        {
          "name": "Price a hardware basket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hardware/quotes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hardware",
                "quotes"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\n    {\n      \"sku\": \"T54W\",\n      \"quantity\": 5\n    },\n    {\n      \"sku\": \"WH62-DUAL\",\n      \"quantity\": 2\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Price a basket at your prices, with bulk pricing, delivery and VAT, and check it can be ordered. Nothing is ordered.\n\nVAT here is an estimate at the standard rate; the invoice applies your account's tax settings. problems lists anything that stops the order (e.g. not enough stock of an end-of-life product)."
          }
        }
      ]
    },
    {
      "name": "Hardware: orders",
      "item": [
        {
          "name": "List hardware orders",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/hardware/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hardware",
                "orders"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "Only orders in this status: Pending, In Progress, Dispatched or Delivered.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your hardware orders, newest first."
          }
        },
        {
          "name": "Order hardware",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/hardware/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hardware",
                "orders"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"items\": [\n    {\n      \"sku\": \"T54W\",\n      \"quantity\": 5\n    },\n    {\n      \"sku\": \"WH62-DUAL\",\n      \"quantity\": 2\n    }\n  ],\n  \"delivery\": {\n    \"name\": \"Jo Bloggs\",\n    \"company\": \"Acme Ltd\",\n    \"email\": \"jo@acme.example\",\n    \"address1\": \"1 High Street\",\n    \"city\": \"Leeds\",\n    \"postcode\": \"LS1 1AA\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Order hardware for delivery. Raises an invoice on your account; the order is sent for dispatch once it is paid.\n\nThis is a real order and invoice. With a sandbox key every check runs and nothing is ordered; the order_id is above 900000000. Quote first if you want to check prices and stock."
          }
        },
        {
          "name": "Hardware order",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/hardware/orders/:order_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hardware",
                "orders",
                ":order_id"
              ],
              "variable": [
                {
                  "key": "order_id",
                  "value": "",
                  "description": "The hardware order id, from HardwareOrders."
                }
              ]
            },
            "description": "One order, with its delivery address and, once dispatched, its shipments and the MAC addresses and serial numbers of what was sent.\n\nShipments and devices are read live from the warehouse. If it can't be reached, tracking_unavailable is true and the rest of the order is still returned."
          }
        },
        {
          "name": "Extensions for a zero-touch handset",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/hardware/voip-services/:service_id/extensions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "hardware",
                "voip-services",
                ":service_id",
                "extensions"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices."
                }
              ]
            },
            "description": "The extensions on one of your VoIP services that a zero-touch handset can be set up on."
          }
        }
      ]
    },
    {
      "name": "Mobile services: status",
      "item": [
        {
          "name": "Fleet overview",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/fleet",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "fleet"
              ],
              "query": [
                {
                  "key": "state",
                  "value": "",
                  "description": "Only SIMs in this state, e.g. Active.",
                  "disabled": true
                },
                {
                  "key": "operator",
                  "value": "",
                  "description": "Only SIMs on this network, e.g. O2.",
                  "disabled": true
                },
                {
                  "key": "barred",
                  "value": "",
                  "description": "1 for barred SIMs only, 0 for unbarred only.",
                  "disabled": true
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "Part of a number, ICCID, SIM id, tag or owner email.",
                  "disabled": true
                },
                {
                  "key": "service_id",
                  "value": "",
                  "description": "Only SIMs on this service.",
                  "disabled": true
                },
                {
                  "key": "sort",
                  "value": "",
                  "description": "usage (default, highest first), usage_pct, msisdn, state or service.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 500 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Every SIM on all your Active and Suspended mobile services in one call, with usage, state and fleet totals.\n\nUsage is this billing period's, as the network last reported it; SIM lists can lag a few minutes behind MobileSim. last_seen is only filled by MobileSim."
          }
        },
        {
          "name": "List mobile services",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "Only services in this status, e.g. Active or Suspended.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 200 (default 50).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your mobile services, newest first: single-SIM services and multi-SIM (fleet) services."
          }
        },
        {
          "name": "Service summary",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "What the service is: its SIM on a single-SIM service, or SIM counts on a fleet."
          }
        },
        {
          "name": "SIM detail",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim"
              ],
              "query": [
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "One SIM, read live from the network."
          }
        },
        {
          "name": "Last known location",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/location",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "location"
              ],
              "query": [
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Where the network last saw the SIM. Only available once the user has consented (MobileLocationConsent)."
          }
        },
        {
          "name": "Network registration",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/network",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "network"
              ],
              "query": [
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "How the SIM is registered on the network right now."
          }
        },
        {
          "name": "Network events",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/network-events",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "network-events"
              ],
              "query": [
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one.",
                  "disabled": true
                },
                {
                  "key": "event_type",
                  "value": "",
                  "description": "Only this event type.",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "Only events with this status.",
                  "disabled": true
                },
                {
                  "key": "date_from",
                  "value": "",
                  "description": "YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "date_to",
                  "value": "",
                  "description": "YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "session_id",
                  "value": "",
                  "description": "One data session.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 100 (default 25).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "The network's signalling log for the SIM: attaches, data sessions, location updates."
          }
        },
        {
          "name": "SIM orders",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "orders"
              ],
              "query": [
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Orders raised against the SIM: activation, bars, bolt-ons, swaps and so on."
          }
        },
        {
          "name": "SMS messages",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "sms"
              ],
              "query": [
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one.",
                  "disabled": true
                },
                {
                  "key": "direction",
                  "value": "",
                  "description": "in or out.",
                  "disabled": true
                },
                {
                  "key": "number",
                  "value": "",
                  "description": "Only messages with this number.",
                  "disabled": true
                },
                {
                  "key": "contains",
                  "value": "",
                  "description": "Only messages containing this text.",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "From this date, YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "To this date, YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 100 (default 25).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Text messages to and from the SIM, as the network holds them."
          }
        },
        {
          "name": "List SIMs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims"
              ],
              "query": [
                {
                  "key": "state",
                  "value": "",
                  "description": "Fleet only: just SIMs in this state, e.g. Active or Unactivated.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Fleet only: up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Fleet only: skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "The SIMs on the service. A single-SIM service returns its one SIM."
          }
        },
        {
          "name": "SIM detail",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "One SIM, read live from the network."
          }
        },
        {
          "name": "Last known location",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/location",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "location"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Where the network last saw the SIM. Only available once the user has consented (MobileLocationConsent)."
          }
        },
        {
          "name": "Network registration",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/network",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "network"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "How the SIM is registered on the network right now."
          }
        },
        {
          "name": "Network events",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/network-events",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "network-events"
              ],
              "query": [
                {
                  "key": "event_type",
                  "value": "",
                  "description": "Only this event type.",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "Only events with this status.",
                  "disabled": true
                },
                {
                  "key": "date_from",
                  "value": "",
                  "description": "YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "date_to",
                  "value": "",
                  "description": "YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "session_id",
                  "value": "",
                  "description": "One data session.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 100 (default 25).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "The network's signalling log for the SIM: attaches, data sessions, location updates."
          }
        },
        {
          "name": "SIM orders",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "orders"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Orders raised against the SIM: activation, bars, bolt-ons, swaps and so on."
          }
        },
        {
          "name": "SMS messages",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "sms"
              ],
              "query": [
                {
                  "key": "direction",
                  "value": "",
                  "description": "in or out.",
                  "disabled": true
                },
                {
                  "key": "number",
                  "value": "",
                  "description": "Only messages with this number.",
                  "disabled": true
                },
                {
                  "key": "contains",
                  "value": "",
                  "description": "Only messages containing this text.",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "From this date, YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "To this date, YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 100 (default 25).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Text messages to and from the SIM, as the network holds them."
          }
        }
      ]
    },
    {
      "name": "VoIP estate and 999 records",
      "item": [
        {
          "name": "999 records",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/999",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "999"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "Only numbers in this state: set, incomplete, missing or noCarrier.",
                  "disabled": true
                },
                {
                  "key": "service_id",
                  "value": "",
                  "description": "Only this service's numbers. The score is still over all your numbers.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Every UK number on your VoIP services with the state of its 999 (emergency address) record, and an overall readiness score.\n\nFrom our daily check of every number with the carriers; Voip999Refresh checks again now. To fix a record, use the VoIP API action save999Data on the number's service."
          }
        },
        {
          "name": "Re-check 999 records",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/999/refresh",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "999",
                "refresh"
              ]
            },
            "description": "Check your longest-unchecked numbers with the carriers again now and update their 999 state. Changes nothing at the carrier.\n\nOnce every two minutes per account."
          }
        },
        {
          "name": "999 record for a number",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/999/:number",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "999",
                ":number"
              ],
              "variable": [
                {
                  "key": "number",
                  "value": "",
                  "description": "A UK number on your account, e.g. 01134960000 or 441134960000."
                }
              ]
            },
            "description": "The 999 record the carrier holds for one of your numbers, read live: what emergency services would be given."
          }
        },
        {
          "name": "Area codes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/area-codes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "area-codes"
              ],
              "query": [
                {
                  "key": "q",
                  "value": "",
                  "description": "Only codes or towns containing this text.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "UK area codes to search numbers in: geographic codes with their town, plus the non-geographic and freephone ranges."
          }
        },
        {
          "name": "VoIP estate",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/estate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "estate"
              ],
              "query": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "Only these services (one customer's): repeat service_id, or give a comma-separated list. Totals, insights and the health grade are then over those services only.",
                  "disabled": true
                }
              ]
            },
            "description": "Every VoIP service (tenant) on your account with its numbers, extensions, spend and forecast, plus estate totals, insights and a health grade.\n\nSpend figures are ex VAT, from your billed call records. isZombie marks a tenant with no calls in 30 days."
          }
        },
        {
          "name": "Estate tenant detail",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/estate/tenants/:tenant_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "estate",
                "tenants",
                ":tenant_id"
              ],
              "variable": [
                {
                  "key": "tenant_id",
                  "value": "",
                  "description": "tenantId from VoipEstate."
                }
              ]
            },
            "description": "One tenant's phone numbers, extensions and last six bills."
          }
        },
        {
          "name": "Hold numbers",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/number-holds",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "number-holds"
              ]
            },
            "description": "Hold numbers from a search for 15 minutes while a customer checks out, so nobody else can take them. Pass the hold refs to OrderNow (numbers) or to addNumbers (refs).\n\nA hold is in our records only; the number is allocated with the carrier when the order provisions. Unused holds expire by themselves. Holding a number again extends its hold."
          }
        },
        {
          "name": "Release a hold",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/number-holds/:ref",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "number-holds",
                ":ref"
              ],
              "variable": [
                {
                  "key": "ref",
                  "value": "",
                  "description": "The hold ref (h_…)."
                }
              ]
            },
            "description": "Let a held number go before its hold expires."
          }
        },
        {
          "name": "Search numbers",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/number-search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "number-search"
              ],
              "query": [
                {
                  "key": "area_code",
                  "value": "",
                  "description": "UK area code, with or without the leading 0, e.g. 161 or 0161.",
                  "disabled": false
                },
                {
                  "key": "include_gold",
                  "value": "",
                  "description": "Also list memorable (gold) numbers, which carry a setup fee.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 100 (default 50).",
                  "disabled": true
                }
              ]
            },
            "description": "Numbers available to order in an area code, before there is a service. Each comes with a ref: hold it (VoipNumberHold), or pass it straight to OrderNow (numbers) or the addNumbers action (refs).\n\nNumbers on hold for someone else are not listed."
          }
        },
        {
          "name": "Number types",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/number-types",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "number-types"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size, up to 1000 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "The kinds of number that can be ordered, and which of them can be searched for."
          }
        },
        {
          "name": "Port check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/ports/check",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "ports",
                "check"
              ],
              "query": [
                {
                  "key": "number",
                  "value": "",
                  "description": "A UK number in any common form, e.g. 01617001234 or +44 161 700 1234.",
                  "disabled": false
                }
              ]
            },
            "description": "Whether a number can be ported to us, before there is a service: its type, its current provider where known, the port charge and the earliest date."
          }
        },
        {
          "name": "Port prices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/ports/prices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "ports",
                "prices"
              ]
            },
            "description": "What a port costs you, per number: geographic, non-geographic and mobile."
          }
        },
        {
          "name": "List VoIP services",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "",
                  "description": "Only services in this status, e.g. Active or Suspended.",
                  "disabled": true
                },
                {
                  "key": "order_id",
                  "value": "",
                  "description": "Only the service(s) from this order (the order_id OrderNow returned).",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Up to 500 (default 100).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Skip this many.",
                  "disabled": true
                }
              ]
            },
            "description": "Your VoIP services with their ids (the serviceid every VoIP action takes) and the features each product includes.\n\nAn action whose feature is not in a service's features answers not_available for that service."
          }
        }
      ]
    },
    {
      "name": "Mobile services: SIM control",
      "item": [
        {
          "name": "Update SIM details",
          "request": {
            "method": "PATCH",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Change the SIM's owner email, owner mobile and tags. Only the fields you send are changed."
          }
        },
        {
          "name": "Remove the adult content bar",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/adult-content-bar",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "adult-content-bar"
              ],
              "query": [
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one.",
                  "disabled": true
                },
                {
                  "key": "confirm",
                  "value": "",
                  "description": "1: you have checked the SIM user is 18 or over.",
                  "disabled": false
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Lift the network's adult-content filter. The SIM user must be 18 or over; you are responsible for checking."
          }
        },
        {
          "name": "Bar a SIM",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/bar",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "bar"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Stop the SIM's mobile data (data), or its data, calls and texts (full; O2 and Vodafone only). The number is kept; MobileUnbar lifts it."
          }
        },
        {
          "name": "Unbar a SIM",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/bar",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "bar"
              ],
              "query": [
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one.",
                  "disabled": true
                },
                {
                  "key": "reason",
                  "value": "",
                  "description": "Up to 200 characters.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Lift a data or full bar."
          }
        },
        {
          "name": "IMEI lock",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/imei-lock",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "imei-lock"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Lock the SIM to the handset it is in now, or release it. A locked SIM will not work in another handset."
          }
        },
        {
          "name": "Toggle location consent",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/location/consent",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "location",
                "consent"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Turn location sharing on if it is off, or off if it is on. Only do this with the SIM user's agreement."
          }
        },
        {
          "name": "Network sync",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/network/sync",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "network",
                "sync"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Ask the network to re-provision the SIM. Fixes most \"no service\" faults and does not change anything you are billed for."
          }
        },
        {
          "name": "Send an SMS to the SIM",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sim/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sim",
                "sms"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                }
              ]
            },
            "description": "Send a text message from the network to the SIM, e.g. setup instructions."
          }
        },
        {
          "name": "Update SIM details",
          "request": {
            "method": "PATCH",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Change the SIM's owner email, owner mobile and tags. Only the fields you send are changed."
          }
        },
        {
          "name": "Remove the adult content bar",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/adult-content-bar",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "adult-content-bar"
              ],
              "query": [
                {
                  "key": "confirm",
                  "value": "",
                  "description": "1: you have checked the SIM user is 18 or over.",
                  "disabled": false
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Lift the network's adult-content filter. The SIM user must be 18 or over; you are responsible for checking."
          }
        },
        {
          "name": "Bar a SIM",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/bar",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "bar"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Stop the SIM's mobile data (data), or its data, calls and texts (full; O2 and Vodafone only). The number is kept; MobileUnbar lifts it."
          }
        },
        {
          "name": "Unbar a SIM",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/bar",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "bar"
              ],
              "query": [
                {
                  "key": "reason",
                  "value": "",
                  "description": "Up to 200 characters.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Lift a data or full bar."
          }
        },
        {
          "name": "IMEI lock",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/imei-lock",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "imei-lock"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Lock the SIM to the handset it is in now, or release it. A locked SIM will not work in another handset."
          }
        },
        {
          "name": "Toggle location consent",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/location/consent",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "location",
                "consent"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Turn location sharing on if it is off, or off if it is on. Only do this with the SIM user's agreement."
          }
        },
        {
          "name": "Network sync",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/network/sync",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "network",
                "sync"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Ask the network to re-provision the SIM. Fixes most \"no service\" faults and does not change anything you are billed for."
          }
        },
        {
          "name": "Send an SMS to the SIM",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/mobile/services/:service_id/sims/:sim_id/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "mobile",
                "services",
                ":service_id",
                "sims",
                ":sim_id",
                "sms"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The mobile service id, from MobileServices."
                },
                {
                  "key": "sim_id",
                  "value": "",
                  "description": "The SIM id (from MobileSims). Required on a multi-SIM service; leave out on a single-SIM one."
                }
              ]
            },
            "description": "Send a text message from the network to the SIM, e.g. setup instructions."
          }
        }
      ]
    },
    {
      "name": "VoIP: AI agents",
      "item": [
        {
          "name": "List AI agents.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ai-agents",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ai-agents"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List AI agents.\n\nWorks on Active and Suspended services. Needs the \"aiAgent\" feature on the service's product."
          }
        },
        {
          "name": "Add an AI agent: its type, model, voice, instructions and greeting.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ai-agents",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ai-agents"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cu_name\": \"Reception\",\n  \"cu_param1\": \"ChatGPT\",\n  \"cu_param3\": \"gpt-realtime\",\n  \"cu_param12\": \"alloy\",\n  \"cu_param13\": \"semantic_vad\",\n  \"cu_param6\": \"en-GB\",\n  \"cu_param4\": \"0.8\",\n  \"cu_param5\": \"100\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add an AI agent: its type, model, voice, instructions and greeting.\n\nChanges the service: the service must be Active. Needs the \"aiAgent\" feature on the service's product."
          }
        },
        {
          "name": "AI agent conversations for a date range.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ai-agents/logs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ai-agents",
                "logs"
              ],
              "query": [
                {
                  "key": "ai_cu_id",
                  "value": "",
                  "description": "AI agent: Limit to one AI agent (`cu_id`).",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "From: Start date, YYYY-MM-DD (any date strtotime() understands).",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "To: End date, YYYY-MM-DD.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "AI agent conversations for a date range.\n\nWorks on Active and Suspended services. Needs the \"aiAgentLog\" feature on the service's product."
          }
        },
        {
          "name": "One AI agent conversation, turn by turn.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ai-agents/logs/:item_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ai-agents",
                "logs",
                ":item_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "item_id",
                  "value": "",
                  "description": "Conversation: The log entry id from getAiAgentLogList."
                }
              ]
            },
            "description": "One AI agent conversation, turn by turn.\n\nWorks on Active and Suspended services. Needs the \"aiAgentLog\" feature on the service's product."
          }
        },
        {
          "name": "Voices and models available to AI agents.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ai-agents/voices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ai-agents",
                "voices"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Voices and models available to AI agents.\n\nWorks on Active and Suspended services. Needs the \"aiAgent\" feature on the service's product."
          }
        },
        {
          "name": "Change an AI agent.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ai-agents/:cu_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ai-agents",
                ":cu_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cu_id",
                  "value": "",
                  "description": "AI agent: Which AI agent (its `cu_id` from getAiAgentList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cu_name\": \"Reception\",\n  \"cu_param1\": \"ChatGPTRealtime\",\n  \"cu_param3\": \"gpt-realtime\",\n  \"cu_param12\": \"alloy\",\n  \"cu_param13\": \"semantic_vad\",\n  \"cu_param6\": \"en-GB\",\n  \"cu_param4\": \"0.8\",\n  \"cu_param5\": \"100\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change an AI agent.\n\nChanges the service: the service must be Active. Needs the \"aiAgent\" feature on the service's product."
          }
        },
        {
          "name": "Remove an AI agent.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ai-agents/:cu_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ai-agents",
                ":cu_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cu_id",
                  "value": "",
                  "description": "AI agent: Which AI agent (its `cu_id` from getAiAgentList)."
                }
              ]
            },
            "description": "Remove an AI agent.\n\nChanges the service: the service must be Active. Needs the \"aiAgent\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Analytics",
      "item": [
        {
          "name": "AI insights for a period: topics, sentiment and summaries across calls.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/analytics/ai",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "analytics",
                "ai"
              ],
              "query": [
                {
                  "key": "end",
                  "value": "",
                  "description": "End: With `range=custom`: last day, YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "range",
                  "value": "",
                  "description": "Range: One of `day` (default), `yesterday`, `week`, `lastweek`, `month`, `lastmonth`, `year`, `lastyear`, `custom` (then send `start` and `end`). Capped at 366 days.",
                  "disabled": true
                },
                {
                  "key": "start",
                  "value": "",
                  "description": "Start: With `range=custom`: first day, YYYY-MM-DD.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "AI insights for a period: topics, sentiment and summaries across calls.\n\nWorks on Active and Suspended services. Needs the \"analytics\" feature on the service's product."
          }
        },
        {
          "name": "Call statistics for a period: volumes, answered and missed, busiest times, per extension.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/analytics/calls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "analytics",
                "calls"
              ],
              "query": [
                {
                  "key": "end",
                  "value": "",
                  "description": "End: With `range=custom`: last day, YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "range",
                  "value": "",
                  "description": "Range: One of `day` (default), `yesterday`, `week`, `lastweek`, `month`, `lastmonth`, `year`, `lastyear`, `custom` (then send `start` and `end`). Capped at 366 days.",
                  "disabled": true
                },
                {
                  "key": "start",
                  "value": "",
                  "description": "Start: With `range=custom`: first day, YYYY-MM-DD.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Call statistics for a period: volumes, answered and missed, busiest times, per extension.\n\nWorks on Active and Suspended services. Needs the \"analytics\" feature on the service's product."
          }
        },
        {
          "name": "Where calls went for a period, by destination.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/analytics/destinations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "analytics",
                "destinations"
              ],
              "query": [
                {
                  "key": "end",
                  "value": "",
                  "description": "End: With `range=custom`: last day, YYYY-MM-DD.",
                  "disabled": true
                },
                {
                  "key": "range",
                  "value": "",
                  "description": "Range: One of `day` (default), `yesterday`, `week`, `lastweek`, `month`, `lastmonth`, `year`, `lastyear`, `custom` (then send `start` and `end`). Capped at 366 days.",
                  "disabled": true
                },
                {
                  "key": "start",
                  "value": "",
                  "description": "Start: With `range=custom`: first day, YYYY-MM-DD.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Where calls went for a period, by destination.\n\nWorks on Active and Suspended services. Needs the \"analytics\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Phone system API access",
      "item": [
        {
          "name": "Show the phone system API key settings.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/api-access",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "api-access"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Show the phone system API key settings.\n\nWorks on Active and Suspended services. Needs the \"apiAccess\" feature on the service's product."
          }
        },
        {
          "name": "Change the phone system API key.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/api-access/:se_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "api-access",
                ":se_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "se_id",
                  "value": "",
                  "description": "Setting: Which setting (its `se_id` from getApiAccessList)."
                }
              ]
            },
            "description": "Change the phone system API key.\n\nChanges the service: the service must be Active. Needs the \"apiAccess\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Softphone app",
      "item": [
        {
          "name": "Give an app user another extension.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/extensions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "extensions"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Reception\",\n  \"primary_user_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Give an app user another extension.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Link an extension to an app user, creating the user if needed.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/extensions/link",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "extensions",
                "link"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"name@example.com\",\n  \"ex_id\": \"123\",\n  \"name\": \"Reception\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Link an extension to an app user, creating the user if needed.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Unlink an extension from an app user.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/extensions/:link_user_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "extensions",
                ":link_user_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "link_user_id",
                  "value": "",
                  "description": "App user: The app user to unlink, from getVoiceCloudList."
                }
              ]
            },
            "description": "Unlink an extension from an app user.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Repair the app's connection to the phone system.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/rebuild",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "rebuild"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Repair the app's connection to the phone system.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "The account's app settings (recording, transcription, AI).",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "settings"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "The account's app settings (recording, transcription, AI).\n\nWorks on Active and Suspended services. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Change the account's app settings.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "settings"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Change the account's app settings.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "List app users and their extensions.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List app users and their extensions.\n\nWorks on Active and Suspended services. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Create an app user for one or more extensions, and send their login.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"name@example.com\",\n  \"full_name\": \"Reception\",\n  \"phone\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Create an app user for one or more extensions, and send their login.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Change an app user's details.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:app_user_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":app_user_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "app_user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"app_user_id\": \"123\",\n  \"email\": \"name@example.com\",\n  \"name\": \"Reception\",\n  \"phone\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change an app user's details.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Remove an app user.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:app_user_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":app_user_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "app_user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "description": "Remove an app user.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Reset an app user's password.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:app_user_id/reset-password",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":app_user_id",
                "reset-password"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "app_user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"app_user_id\": \"123\",\n  \"noemail\": \"name@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Reset an app user's password.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "The AI summary of an app call.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:user_id/call-summary",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":user_id",
                "call-summary"
              ],
              "query": [
                {
                  "key": "t",
                  "value": "",
                  "description": "Call: The call's timestamp reference from getVoiceCloudUserCalls.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "description": "The AI summary of an app call.\n\nWorks on Active and Suspended services. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "An app user's recent calls.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:user_id/calls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":user_id",
                "calls"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "description": "An app user's recent calls.\n\nWorks on Active and Suspended services. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "List an app user's signed-in devices.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:user_id/devices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":user_id",
                "devices"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "description": "List an app user's signed-in devices.\n\nWorks on Active and Suspended services. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Sign an app user out of one device.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:user_id/devices/:term_id/logout",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":user_id",
                "devices",
                ":term_id",
                "logout"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                },
                {
                  "key": "term_id",
                  "value": "",
                  "description": "Device: The device id from getVoiceCloudUserDevices."
                }
              ]
            },
            "description": "Sign an app user out of one device.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "An app user's login QR code (optionally with a new password).",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:user_id/login-qr",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":user_id",
                "login-qr"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "An app user's login QR code (optionally with a new password).\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Delete all of an app user's recordings.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:user_id/recordings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":user_id",
                "recordings"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "description": "Delete all of an app user's recordings.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Block, unblock, deactivate or reactivate an app user.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:user_id/state",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":user_id",
                "state"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"user_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Block, unblock, deactivate or reactivate an app user.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        },
        {
          "name": "Delete all of an app user's transcripts.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/app/users/:user_id/transcriptions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "app",
                "users",
                ":user_id",
                "transcriptions"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "user_id",
                  "value": "",
                  "description": "App user: The app user id from getVoiceCloudList."
                }
              ]
            },
            "description": "Delete all of an app user's transcripts.\n\nChanges the service: the service must be Active. Needs the \"voiceCloud\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Billing and usage",
      "item": [
        {
          "name": "Every chargeable call (and SMS) in a billing period with its price, exactly as invoiced: inclusive minutes are taken off in call order and any uplift added. Each day's total sits beside the figure recorded for the invoice so you can reconcile.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/billing/calls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "billing",
                "calls"
              ],
              "query": [
                {
                  "key": "period",
                  "value": "",
                  "description": "Billing period: `current` (default) for the open period, or a period `id` from getBillingHistory.",
                  "disabled": true
                },
                {
                  "key": "from",
                  "value": "",
                  "description": "From: Only list calls from this day (YYYY-MM-DD) within the period. Inclusive minutes are still worked out from the start of the period.",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "To: Only list calls up to this day (YYYY-MM-DD) within the period.",
                  "disabled": true
                },
                {
                  "key": "include_free",
                  "value": "",
                  "description": "Include free calls: Truthy to also list calls that cost nothing (inbound, internal, unanswered). By default only calls that cost something or used inclusive minutes are listed.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size: How many to return (getBillableCalls: default 500, up to 2000; getBillingHistory: default 24, up to 200).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Offset: Skip this many: use `next_offset` from the previous page.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Every chargeable call (and SMS) in a billing period with its price, exactly as invoiced: inclusive minutes are taken off in call order and any uplift added. Each day's total sits beside the figure recorded for the invoice so you can reconcile.\n\nWorks on Active and Suspended services. It fetches the whole billing period from the phone system on every call (up to 62 days), so poll it daily, not every few minutes. Prices match the invoice."
          }
        },
        {
          "name": "Past billing periods with calls, minutes, cost, the amount invoiced and whether the invoice is paid, plus the open period so far.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/billing/periods",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "billing",
                "periods"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "",
                  "description": "Page size: How many to return (getBillableCalls: default 500, up to 2000; getBillingHistory: default 24, up to 200).",
                  "disabled": true
                },
                {
                  "key": "offset",
                  "value": "",
                  "description": "Offset: Skip this many: use `next_offset` from the previous page.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Past billing periods with calls, minutes, cost, the amount invoiced and whether the invoice is paid, plus the open period so far.\n\nWorks on Active and Suspended services."
          }
        },
        {
          "name": "Current usage: spend and calls so far this period, inclusive minutes used and left, storage, and the plan's included destinations.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/usage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "usage"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Current usage: spend and calls so far this period, inclusive minutes used and left, storage, and the plan's included destinations.\n\nWorks on Active and Suspended services."
          }
        }
      ]
    },
    {
      "name": "VoIP: Blocked numbers",
      "item": [
        {
          "name": "List blocked numbers.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/blocked-numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "blocked-numbers"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List blocked numbers.\n\nWorks on Active and Suspended services. Needs the \"callerIdBlacklist\" feature on the service's product."
          }
        },
        {
          "name": "Block a number.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/blocked-numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "blocked-numbers"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cb_callerid\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Block a number.\n\nChanges the service: the service must be Active. Needs the \"callerIdBlacklist\" feature on the service's product."
          }
        },
        {
          "name": "Block many numbers at once.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/blocked-numbers/bulk",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "blocked-numbers",
                "bulk"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"numbers\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Block many numbers at once.\n\nChanges the service: the service must be Active. Needs the \"callerIdBlacklist\" feature on the service's product."
          }
        },
        {
          "name": "Change a blocked number entry.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/blocked-numbers/:cb_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "blocked-numbers",
                ":cb_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cb_id",
                  "value": "",
                  "description": "Blocked-number entry: Which blocked-number entry (its `cb_id` from getCallerIdBlacklistList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cb_callerid\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a blocked number entry.\n\nChanges the service: the service must be Active. Needs the \"callerIdBlacklist\" feature on the service's product."
          }
        },
        {
          "name": "Unblock a number.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/blocked-numbers/:cb_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "blocked-numbers",
                ":cb_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cb_id",
                  "value": "",
                  "description": "Blocked-number entry: Which blocked-number entry (its `cb_id` from getCallerIdBlacklistList)."
                }
              ]
            },
            "description": "Unblock a number.\n\nChanges the service: the service must be Active. Needs the \"callerIdBlacklist\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Call flow",
      "item": [
        {
          "name": "List call flows (one per phone number) and where each starts.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/call-flows",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "call-flows"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List call flows (one per phone number) and where each starts.\n\nWorks on Active and Suspended services. Needs the \"callFlow\" feature on the service's product."
          }
        },
        {
          "name": "Every destination a flow step can point at (extensions, groups, queues…), with their tags.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/call-flows/destinations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "call-flows",
                "destinations"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Every destination a flow step can point at (extensions, groups, queues…), with their tags.\n\nWorks on Active and Suspended services. Needs the \"callFlow\" feature on the service's product."
          }
        },
        {
          "name": "Live activity on flow steps: calls waiting, agents busy.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/call-flows/live",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "call-flows",
                "live"
              ],
              "query": [
                {
                  "key": "tags",
                  "value": "",
                  "description": "Tags: Comma-separated tags (getFlowLive: an array of destination tags).",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Live activity on flow steps: calls waiting, agents busy.\n\nWorks on Active and Suspended services. Needs the \"callFlow\" feature on the service's product."
          }
        },
        {
          "name": "Copy a flow object (for example a queue) as a new one.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/call-flows/nodes/:object_type/clone",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "call-flows",
                "nodes",
                ":object_type",
                "clone"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "object_type",
                  "value": "",
                  "description": "Object type: Call-flow object type, e.g. `EXT`, `HUNTLIST`, `QUEUE`, `IVR`, `CONDITION`, `CUSTOM`, `VOICEMAIL`, `CONFERENCE`."
                }
              ]
            },
            "description": "Copy a flow object (for example a queue) as a new one.\n\nChanges the service: the service must be Active. Needs the \"callFlow\" feature on the service's product."
          }
        },
        {
          "name": "Read one flow object's settings.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/call-flows/nodes/:object_type/:object_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "call-flows",
                "nodes",
                ":object_type",
                ":object_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "object_type",
                  "value": "",
                  "description": "Object type: Call-flow object type, e.g. `EXT`, `HUNTLIST`, `QUEUE`, `IVR`, `CONDITION`, `CUSTOM`, `VOICEMAIL`, `CONFERENCE`."
                },
                {
                  "key": "object_id",
                  "value": "",
                  "description": "Object: The object's id."
                }
              ]
            },
            "description": "Read one flow object's settings.\n\nWorks on Active and Suspended services. Needs the \"callFlow\" feature on the service's product."
          }
        },
        {
          "name": "Read a whole call flow from its starting point.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/call-flows/:type_src/:type_id_src",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "call-flows",
                ":type_src",
                ":type_id_src"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "type_src",
                  "value": "",
                  "description": "Flow start type: Where the flow starts, e.g. `DID` for a phone number."
                },
                {
                  "key": "type_id_src",
                  "value": "",
                  "description": "Flow start id: The id of that start (e.g. the number's `di_id`)."
                }
              ]
            },
            "description": "Read a whole call flow from its starting point.\n\nWorks on Active and Suspended services. Needs the \"callFlow\" feature on the service's product."
          }
        },
        {
          "name": "Save a call flow.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/call-flows/:type_src/:type_id_src",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "call-flows",
                ":type_src",
                ":type_id_src"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "type_src",
                  "value": "",
                  "description": "Flow start type: Where the flow starts, e.g. `DID` for a phone number."
                },
                {
                  "key": "type_id_src",
                  "value": "",
                  "description": "Flow start id: The id of that start (e.g. the number's `di_id`)."
                }
              ]
            },
            "description": "Save a call flow.\n\nChanges the service: the service must be Active. Needs the \"callFlow\" feature on the service's product."
          }
        },
        {
          "name": "Read one branch of a call flow.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/call-flows/:type_src/:type_id_src/branch",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "call-flows",
                ":type_src",
                ":type_id_src",
                "branch"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "type_src",
                  "value": "",
                  "description": "Flow start type: Where the flow starts, e.g. `DID` for a phone number."
                },
                {
                  "key": "type_id_src",
                  "value": "",
                  "description": "Flow start id: The id of that start (e.g. the number's `di_id`)."
                }
              ]
            },
            "description": "Read one branch of a call flow.\n\nWorks on Active and Suspended services. Needs the \"callFlow\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Call logs and recordings",
      "item": [
        {
          "name": "The call log for a date range: every call with its legs, duration, outcome and recording.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/calls",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "calls"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "From: Start date, YYYY-MM-DD (any date strtotime() understands).",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "To: End date, YYYY-MM-DD.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "The call log for a date range: every call with its legs, duration, outcome and recording.\n\nWorks on Active and Suspended services. Needs the \"callLog\" feature on the service's product."
          }
        },
        {
          "name": "Search call transcripts for words.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/calls/transcripts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "calls",
                "transcripts"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "From: Start date, YYYY-MM-DD (any date strtotime() understands).",
                  "disabled": true
                },
                {
                  "key": "query",
                  "value": "",
                  "description": "Search: Words to find in call transcripts.",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "To: End date, YYYY-MM-DD.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Search call transcripts for words.\n\nWorks on Active and Suspended services. Needs the \"callLog\" feature on the service's product."
          }
        },
        {
          "name": "Details of one call recording.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/calls/:item_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "calls",
                ":item_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "item_id",
                  "value": "",
                  "description": "Item: The id from the matching list (e.g. the call's `uniqueid` from getCallLogList)."
                }
              ]
            },
            "description": "Details of one call recording.\n\nWorks on Active and Suspended services. Needs the \"callLog\" feature on the service's product."
          }
        },
        {
          "name": "Download a call recording (WAV).",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/calls/:item_id/recording",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "calls",
                ":item_id",
                "recording"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "item_id",
                  "value": "",
                  "description": "Item: The id from the matching list (e.g. the call's `uniqueid` from getCallLogList)."
                }
              ]
            },
            "description": "Download a call recording (WAV).\n\nWorks on Active and Suspended services. Needs the \"callLog\" feature on the service's product."
          }
        },
        {
          "name": "Read a call recording's transcript, summary and sentiment.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/calls/:item_id/transcript",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "calls",
                ":item_id",
                "transcript"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "item_id",
                  "value": "",
                  "description": "Item: The id from the matching list (e.g. the call's `uniqueid` from getCallLogList)."
                }
              ]
            },
            "description": "Read a call recording's transcript, summary and sentiment.\n\nWorks on Active and Suspended services. Needs the \"callLog\" feature on the service's product."
          }
        },
        {
          "name": "Save your notes, outcome and tags against a call.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/calls/:uniqueid/annotation",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "calls",
                ":uniqueid",
                "annotation"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "uniqueid",
                  "value": "",
                  "description": "Call: The call's `uniqueid` from getCallLogList."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"uniqueid\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Save your notes, outcome and tags against a call.\n\nChanges the service: the service must be Active. Needs the \"callLog\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Outbound campaigns",
      "item": [
        {
          "name": "List outbound campaigns.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/campaigns",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "campaigns"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List outbound campaigns.\n\nWorks on Active and Suspended services. Needs the \"campaign\" feature on the service's product."
          }
        },
        {
          "name": "Add an outbound campaign.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/campaigns",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "campaigns"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cp_callerid\": \"123\",\n  \"cp_calleridname\": \"Reception\",\n  \"cp_name\": \"Reception\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add an outbound campaign.\n\nChanges the service: the service must be Active. Needs the \"campaign\" feature on the service's product."
          }
        },
        {
          "name": "Remove a number from a campaign.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/campaigns/numbers/:cn_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "campaigns",
                "numbers",
                ":cn_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cn_id",
                  "value": "",
                  "description": "Campaign number: Which campaign number (its `cn_id` from getCampaignList)."
                }
              ]
            },
            "description": "Remove a number from a campaign.\n\nChanges the service: the service must be Active. Needs the \"campaign\" feature on the service's product."
          }
        },
        {
          "name": "Change an outbound campaign.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/campaigns/:cp_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "campaigns",
                ":cp_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cp_id",
                  "value": "",
                  "description": "Campaign: Which campaign (its `cp_id` from getCampaignList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cp_callerid\": \"123\",\n  \"cp_calleridname\": \"Reception\",\n  \"cp_id\": \"123\",\n  \"cp_name\": \"Reception\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change an outbound campaign.\n\nChanges the service: the service must be Active. Needs the \"campaign\" feature on the service's product."
          }
        },
        {
          "name": "Remove an outbound campaign.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/campaigns/:cp_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "campaigns",
                ":cp_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cp_id",
                  "value": "",
                  "description": "Campaign: Which campaign (its `cp_id` from getCampaignList)."
                }
              ]
            },
            "description": "Remove an outbound campaign.\n\nChanges the service: the service must be Active. Needs the \"campaign\" feature on the service's product."
          }
        },
        {
          "name": "List the numbers in a campaign.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/campaigns/:cp_id/numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "campaigns",
                ":cp_id",
                "numbers"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cp_id",
                  "value": "",
                  "description": "Campaign: Which campaign (its `cp_id` from getCampaignList)."
                }
              ]
            },
            "description": "List the numbers in a campaign.\n\nWorks on Active and Suspended services. Needs the \"campaign\" feature on the service's product."
          }
        },
        {
          "name": "Add numbers to a campaign.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/campaigns/:cp_id/numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "campaigns",
                ":cp_id",
                "numbers"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cp_id",
                  "value": "",
                  "description": "Campaign: Which campaign (its `cp_id` from getCampaignList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cp_id\": \"123\",\n  \"numbers\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add numbers to a campaign.\n\nChanges the service: the service must be Active. Needs the \"campaign\" feature on the service's product."
          }
        },
        {
          "name": "Start or pause a campaign.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/campaigns/:cp_id/state",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "campaigns",
                ":cp_id",
                "state"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cp_id",
                  "value": "",
                  "description": "Campaign: Which campaign (its `cp_id` from getCampaignList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cp_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Start or pause a campaign.\n\nChanges the service: the service must be Active. Needs the \"campaign\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Conference rooms",
      "item": [
        {
          "name": "List conference rooms.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/conferences",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "conferences"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List conference rooms.\n\nWorks on Active and Suspended services. Needs the \"conference\" feature on the service's product."
          }
        },
        {
          "name": "Add a conference room.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/conferences",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "conferences"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cr_name\": \"Reception\",\n  \"cr_number\": \"441234567890\",\n  \"pin\": \"4321\",\n  \"adminpin\": \"4321\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a conference room.\n\nChanges the service: the service must be Active. Needs the \"conference\" feature on the service's product."
          }
        },
        {
          "name": "Change a conference room.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/conferences/:cr_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "conferences",
                ":cr_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cr_id",
                  "value": "",
                  "description": "Conference room: Which conference room (its `cr_id` from getConferenceList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cr_name\": \"Reception\",\n  \"cr_number\": \"441234567890\",\n  \"pin\": \"4321\",\n  \"adminpin\": \"4321\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a conference room.\n\nChanges the service: the service must be Active. Needs the \"conference\" feature on the service's product."
          }
        },
        {
          "name": "Remove a conference room.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/conferences/:cr_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "conferences",
                ":cr_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cr_id",
                  "value": "",
                  "description": "Conference room: Which conference room (its `cr_id` from getConferenceList)."
                }
              ]
            },
            "description": "Remove a conference room.\n\nChanges the service: the service must be Active. Needs the \"conference\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Custom destinations",
      "item": [
        {
          "name": "List custom destinations.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/custom-destinations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "custom-destinations"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List custom destinations.\n\nWorks on Active and Suspended services. Needs the \"customDestination\" feature on the service's product."
          }
        },
        {
          "name": "Add a custom destination (for example forwarding to a mobile).",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/custom-destinations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "custom-destinations"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cu_name\": \"Reception\",\n  \"cu_ct_id\": \"123\",\n  \"cu_param2\": \"ORIGINAL\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a custom destination (for example forwarding to a mobile).\n\nChanges the service: the service must be Active. Needs the \"customDestination\" feature on the service's product."
          }
        },
        {
          "name": "Change a custom destination.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/custom-destinations/:cu_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "custom-destinations",
                ":cu_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cu_id",
                  "value": "",
                  "description": "Custom destination: Which custom destination (its `cu_id` from getCustomDestinationList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"cu_name\": \"Reception\",\n  \"cu_ct_id\": \"123\",\n  \"cu_param2\": \"ORIGINAL\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a custom destination.\n\nChanges the service: the service must be Active. Needs the \"customDestination\" feature on the service's product."
          }
        },
        {
          "name": "Remove a custom destination.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/custom-destinations/:cu_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "custom-destinations",
                ":cu_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "cu_id",
                  "value": "",
                  "description": "Custom destination: Which custom destination (its `cu_id` from getCustomDestinationList)."
                }
              ]
            },
            "description": "Remove a custom destination.\n\nChanges the service: the service must be Active. Needs the \"customDestination\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Phones",
      "item": [
        {
          "name": "A picture of a phone model (image file).",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phone-models/:pm_id/image",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phone-models",
                ":pm_id",
                "image"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "pm_id",
                  "value": "",
                  "description": "Phone model: Which phone model (its `pm_id` from getPhoneList)."
                }
              ]
            },
            "description": "A picture of a phone model (image file).\n\nWorks on Active and Suspended services. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "List desk phones.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List desk phones.\n\nWorks on Active and Suspended services. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "Add a desk phone by MAC address and model, with its lines.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ph_name\": \"Reception\",\n  \"ph_pm_id\": \"123\",\n  \"ph_line0_ex_id\": \"123\",\n  \"ph_line1_ex_id\": \"123\",\n  \"ph_line2_ex_id\": \"123\",\n  \"ph_line3_ex_id\": \"123\",\n  \"ph_line4_ex_id\": \"123\",\n  \"ph_line5_ex_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a desk phone by MAC address and model, with its lines.\n\nChanges the service: the service must be Active. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "Take a phone book off a desk phone.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones/phone-books/:pp_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones",
                "phone-books",
                ":pp_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "pp_id",
                  "value": "",
                  "description": "Phone-book link on a phone: Which phone-book link on a phone (its `pp_id` from getPhoneList)."
                }
              ]
            },
            "description": "Take a phone book off a desk phone.\n\nChanges the service: the service must be Active. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "Check, add or remove a phone on the auto-provisioning service.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones/provisioning",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones",
                "provisioning"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Check, add or remove a phone on the auto-provisioning service.\n\nChanges the service: the service must be Active. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "Email an app login QR code.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones/qr-code",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones",
                "qr-code"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"email\": \"name@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Email an app login QR code.\n\nChanges the service: the service must be Active. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "Change a desk phone.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones/:ph_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones",
                ":ph_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ph_id",
                  "value": "",
                  "description": "Phone: Which phone (its `ph_id` from getPhoneList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ph_name\": \"Reception\",\n  \"ph_pm_id\": \"123\",\n  \"ph_line0_ex_id\": \"123\",\n  \"ph_line1_ex_id\": \"123\",\n  \"ph_line2_ex_id\": \"123\",\n  \"ph_line3_ex_id\": \"123\",\n  \"ph_line4_ex_id\": \"123\",\n  \"ph_line5_ex_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a desk phone.\n\nChanges the service: the service must be Active. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "Remove a desk phone (optionally from auto-provisioning too).",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones/:ph_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones",
                ":ph_id"
              ],
              "query": [
                {
                  "key": "rps_remove",
                  "value": "",
                  "description": "Remove from provisioning: Truthy to also remove the phone from the auto-provisioning service.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ph_id",
                  "value": "",
                  "description": "Phone: Which phone (its `ph_id` from getPhoneList)."
                }
              ]
            },
            "description": "Remove a desk phone (optionally from auto-provisioning too).\n\nChanges the service: the service must be Active. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "List the phone books on a desk phone.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones/:ph_id/phone-books",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones",
                ":ph_id",
                "phone-books"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ph_id",
                  "value": "",
                  "description": "Phone: Which phone (its `ph_id` from getPhoneList)."
                }
              ]
            },
            "description": "List the phone books on a desk phone.\n\nWorks on Active and Suspended services. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "Add a phone book to a desk phone.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones/:ph_id/phone-books",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones",
                ":ph_id",
                "phone-books"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ph_id",
                  "value": "",
                  "description": "Phone: Which phone (its `ph_id` from getPhoneList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"pp_name\": \"Reception\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a phone book to a desk phone.\n\nChanges the service: the service must be Active. Needs the \"phone\" feature on the service's product."
          }
        },
        {
          "name": "Reboot a desk phone, or sign it out.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phones/:ph_id/reboot",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phones",
                ":ph_id",
                "reboot"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ph_id",
                  "value": "",
                  "description": "Phone: Which phone (its `ph_id` from getPhoneList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ph_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Reboot a desk phone, or sign it out.\n\nChanges the service: the service must be Active. Needs the \"phone\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Dial-in access (DISA)",
      "item": [
        {
          "name": "List dial-in access points.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/disa",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "disa"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List dial-in access points.\n\nWorks on Active and Suspended services. Needs the \"disa\" feature on the service's product."
          }
        },
        {
          "name": "Add a dial-in access point.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/disa",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "disa"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ds_blockcid\": \"123\",\n  \"ds_calleridname\": \"Reception\",\n  \"ds_me_id\": \"123\",\n  \"ds_name\": \"Reception\",\n  \"ds_pin\": \"4321\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a dial-in access point.\n\nChanges the service: the service must be Active. Needs the \"disa\" feature on the service's product."
          }
        },
        {
          "name": "Change a dial-in access point.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/disa/:ds_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "disa",
                ":ds_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ds_id",
                  "value": "",
                  "description": "Dial-in (DISA): Which dial-in (DISA) (its `ds_id` from getDisaList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ds_blockcid\": \"123\",\n  \"ds_calleridname\": \"Reception\",\n  \"ds_id\": \"123\",\n  \"ds_me_id\": \"123\",\n  \"ds_name\": \"Reception\",\n  \"ds_pin\": \"4321\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a dial-in access point.\n\nChanges the service: the service must be Active. Needs the \"disa\" feature on the service's product."
          }
        },
        {
          "name": "Remove a dial-in access point.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/disa/:ds_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "disa",
                ":ds_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ds_id",
                  "value": "",
                  "description": "Dial-in (DISA): Which dial-in (DISA) (its `ds_id` from getDisaList)."
                }
              ]
            },
            "description": "Remove a dial-in access point.\n\nChanges the service: the service must be Active. Needs the \"disa\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Extensions",
      "item": [
        {
          "name": "Click-to-dial: ring an extension, then connect it to a number.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/calls/dial",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "calls",
                "dial"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"dest\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Click-to-dial: ring an extension, then connect it to a number.\n\nChanges the service: the service must be Active. Needs the \"extension\" feature on the service's product."
          }
        },
        {
          "name": "End the call an extension is on.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/calls/hangup",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "calls",
                "hangup"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "End the call an extension is on.\n\nChanges the service: the service must be Active. Needs the \"extension\" feature on the service's product."
          }
        },
        {
          "name": "List extensions, with their numbers, caller ID, voicemail and app status.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/extensions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "extensions"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List extensions, with their numbers, caller ID, voicemail and app status.\n\nWorks on Active and Suspended services. Needs the \"extension\" feature on the service's product."
          }
        },
        {
          "name": "Add an extension. Fails when the package's extension allowance is used up.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/extensions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "extensions"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ex_name\": \"Reception\",\n  \"ex_number\": \"201\",\n  \"ex_cidnum\": \"441234567890\",\n  \"ex_mu_id\": \"123\",\n  \"ex_alertemail\": \"name@example.com\",\n  \"ex_alertwhenoffline\": \"off\",\n  \"password\": \"S3cure-Pass!\",\n  \"ex_webpassword\": \"S3cure-Pass!\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add an extension. Fails when the package's extension allowance is used up.\n\nChanges the service: the service must be Active. Needs the \"extension\" feature on the service's product."
          }
        },
        {
          "name": "Live status of every extension: registered devices, in a call, do-not-disturb.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/extensions/statuses",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "extensions",
                "statuses"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Live status of every extension: registered devices, in a call, do-not-disturb.\n\nWorks on Active and Suspended services. Needs the \"extension\" feature on the service's product."
          }
        },
        {
          "name": "Change an extension.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/extensions/:ex_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "extensions",
                ":ex_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ex_id",
                  "value": "",
                  "description": "Extension: Which extension (its `ex_id` from getExtensionList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ex_name\": \"Reception\",\n  \"ex_cidnum\": \"441234567890\",\n  \"ex_dest_noanswer\": \"441234567890\",\n  \"ex_dest_busy\": \"441234567890\",\n  \"ex_dest_offline\": \"441234567890\",\n  \"ex_dest_unconditional\": \"441234567890\",\n  \"ex_mu_id\": \"123\",\n  \"ex_alertemail\": \"name@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change an extension.\n\nChanges the service: the service must be Active. Needs the \"extension\" feature on the service's product."
          }
        },
        {
          "name": "Remove an extension.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/extensions/:ex_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "extensions",
                ":ex_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ex_id",
                  "value": "",
                  "description": "Extension: Which extension (its `ex_id` from getExtensionList)."
                }
              ]
            },
            "description": "Remove an extension.\n\nChanges the service: the service must be Active. Needs the \"extension\" feature on the service's product."
          }
        },
        {
          "name": "Switch do-not-disturb on or off for an extension.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/extensions/:ex_number/dnd",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "extensions",
                ":ex_number",
                "dnd"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "ex_number",
                  "value": "",
                  "description": "Extension: The extension number."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"ex_number\": \"201\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Switch do-not-disturb on or off for an extension.\n\nChanges the service: the service must be Active. Needs the \"extension\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Fax",
      "item": [
        {
          "name": "List sent and received faxes.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/faxes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "faxes"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List sent and received faxes.\n\nWorks on Active and Suspended services. Needs the \"fax\" feature on the service's product."
          }
        },
        {
          "name": "Send a PDF as a fax (multipart, field `fax`).",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/faxes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "faxes"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Send a PDF as a fax (multipart, field `fax`).\n\nChanges the service: the service must be Active. Needs the \"fax\" feature on the service's product."
          }
        },
        {
          "name": "Download a fax as PDF.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/faxes/:fax_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "faxes",
                ":fax_id"
              ],
              "query": [
                {
                  "key": "download",
                  "value": "",
                  "description": "Download: Truthy to send as an attachment rather than inline.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "fax_id",
                  "value": "",
                  "description": "Fax: The fax id from getFaxList."
                }
              ]
            },
            "description": "Download a fax as PDF.\n\nWorks on Active and Suspended services. Needs the \"fax\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Feature codes",
      "item": [
        {
          "name": "List feature codes.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/feature-codes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "feature-codes"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List feature codes.\n\nWorks on Active and Suspended services. Needs the \"featureCode\" feature on the service's product."
          }
        },
        {
          "name": "Add a feature code.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/feature-codes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "feature-codes"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Add a feature code.\n\nChanges the service: the service must be Active. Needs the \"featureCode\" feature on the service's product."
          }
        },
        {
          "name": "Change a feature code.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/feature-codes/:fe_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "feature-codes",
                ":fe_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "fe_id",
                  "value": "",
                  "description": "Feature code: Which feature code (its `fe_id` from getFeatureCodeList)."
                }
              ]
            },
            "description": "Change a feature code.\n\nChanges the service: the service must be Active. Needs the \"featureCode\" feature on the service's product."
          }
        },
        {
          "name": "Remove a feature code.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/feature-codes/:fe_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "feature-codes",
                ":fe_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "fe_id",
                  "value": "",
                  "description": "Feature code: Which feature code (its `fe_id` from getFeatureCodeList)."
                }
              ]
            },
            "description": "Remove a feature code.\n\nChanges the service: the service must be Active. Needs the \"featureCode\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Lookups and setup",
      "item": [
        {
          "name": "The account numbers a labelled call (\"Label the call and ring a number\") can ring: extensions, ring groups, queues and menus, with the custom-type ids for forwarding and labelled calls.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/actions/getDialTargets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "actions",
                "getDialTargets"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "The account numbers a labelled call (\"Label the call and ring a number\") can ring: extensions, ring groups, queues and menus, with the custom-type ids for forwarding and labelled calls.\n\nWorks on Active and Suspended services."
          }
        },
        {
          "name": "The account numbers a labelled call (\"Label the call and ring a number\") can ring: extensions, ring groups, queues and menus, with the custom-type ids for forwarding and labelled calls.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/actions/getDialTargets",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "actions",
                "getDialTargets"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "The account numbers a labelled call (\"Label the call and ring a number\") can ring: extensions, ring groups, queues and menus, with the custom-type ids for forwarding and labelled calls.\n\nWorks on Active and Suspended services."
          }
        },
        {
          "name": "The landing page in one read: the tile groups the package includes with their state, the setup checklist, object counts and every number's route.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/dashboard",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "dashboard"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "The landing page in one read: the tile groups the package includes with their state, the setup checklist, object counts and every number's route.\n\nWorks on Active and Suspended services."
          }
        },
        {
          "name": "The choices for a form field (for example the numbers an extension can present).",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/options/:field_name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "options",
                ":field_name"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "field_name",
                  "value": "",
                  "description": "Field: The form field to list choices for, e.g. `ex_cidnum`, `ex_mailbox`, `ph_pm_id`, `ph_line0_ex_id`."
                }
              ]
            },
            "description": "The choices for a form field (for example the numbers an extension can present).\n\nWorks on Active and Suspended services."
          }
        },
        {
          "name": "Search everything on the account (extensions, numbers, groups…) by name or number.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "search"
              ],
              "query": [
                {
                  "key": "q",
                  "value": "",
                  "description": "Search: Search text.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Search everything on the account (extensions, numbers, groups…) by name or number.\n\nWorks on Active and Suspended services."
          }
        },
        {
          "name": "Setup checklist for the account: what's done and what's left (numbers routed, extensions, voicemail…).",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/setup",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "setup"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Setup checklist for the account: what's done and what's left (numbers routed, extensions, voicemail…).\n\nWorks on Active and Suspended services."
          }
        },
        {
          "name": "Live setup signals: registered devices and recent calls, for an onboarding view.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/setup/live",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "setup",
                "live"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Live setup signals: registered devices and recent calls, for an onboarding view.\n\nWorks on Active and Suspended services."
          }
        },
        {
          "name": "Helper text for a form, such as extensions used of allowed.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/texts/:element_name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "texts",
                ":element_name"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "element_name",
                  "value": "",
                  "description": "Element: Which info text to fetch, e.g. `ex_info` (extensions used of allowed)."
                }
              ]
            },
            "description": "Helper text for a form, such as extensions used of allowed.\n\nWorks on Active and Suspended services."
          }
        }
      ]
    },
    {
      "name": "VoIP: Integrations",
      "item": [
        {
          "name": "List the systems you can connect and which are on.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/integrations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "integrations"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List the systems you can connect and which are on.\n\nWorks on Active and Suspended services. Needs the \"integration\" feature on the service's product."
          }
        },
        {
          "name": "Set which connected system is asked first for caller names.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/integrations/order",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "integrations",
                "order"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Set which connected system is asked first for caller names.\n\nChanges the service: the service must be Active. Needs the \"integration\" feature on the service's product."
          }
        },
        {
          "name": "Connect, change or disconnect a system.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/integrations/:integration_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "integrations",
                ":integration_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "integration_id",
                  "value": "",
                  "description": "Integration: The integration id from getIntegrationList."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integration_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Connect, change or disconnect a system.\n\nChanges the service: the service must be Active. Needs the \"integration\" feature on the service's product."
          }
        },
        {
          "name": "Recent lookups and call logging for a system.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/integrations/:integration_id/activity",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "integrations",
                ":integration_id",
                "activity"
              ],
              "query": [
                {
                  "key": "cursor",
                  "value": "",
                  "description": "Cursor: The `next_cursor` from the previous page.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "integration_id",
                  "value": "",
                  "description": "Integration: The integration id from getIntegrationList."
                }
              ]
            },
            "description": "Recent lookups and call logging for a system.\n\nWorks on Active and Suspended services. Needs the \"integration\" feature on the service's product."
          }
        },
        {
          "name": "Test a system's connection, optionally by looking up a number.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/integrations/:integration_id/test",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "integrations",
                ":integration_id",
                "test"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "integration_id",
                  "value": "",
                  "description": "Integration: The integration id from getIntegrationList."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"integration_id\": \"123\",\n  \"number\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Test a system's connection, optionally by looking up a number.\n\nChanges the service: the service must be Active. Needs the \"integration\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: IVR menus",
      "item": [
        {
          "name": "List IVR menus.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ivrs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ivrs"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List IVR menus.\n\nWorks on Active and Suspended services. Needs the \"ivr\" feature on the service's product."
          }
        },
        {
          "name": "Add an IVR menu.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ivrs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ivrs"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"iv_name\": \"Reception\",\n  \"iv_me_id\": \"123\",\n  \"iv_loopplaymessageonce\": \"ALL\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add an IVR menu.\n\nChanges the service: the service must be Active. Needs the \"ivr\" feature on the service's product."
          }
        },
        {
          "name": "Read one IVR menu, with its key options.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ivrs/:iv_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ivrs",
                ":iv_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "iv_id",
                  "value": "",
                  "description": "IVR menu: Which IVR menu (its `iv_id` from getIvrList)."
                }
              ]
            },
            "description": "Read one IVR menu, with its key options.\n\nWorks on Active and Suspended services. Needs the \"ivr\" feature on the service's product."
          }
        },
        {
          "name": "Change an IVR menu.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ivrs/:iv_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ivrs",
                ":iv_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "iv_id",
                  "value": "",
                  "description": "IVR menu: Which IVR menu (its `iv_id` from getIvrList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"iv_name\": \"Reception\",\n  \"iv_me_id\": \"123\",\n  \"iv_loopplaymessageonce\": \"ALL\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change an IVR menu.\n\nChanges the service: the service must be Active. Needs the \"ivr\" feature on the service's product."
          }
        },
        {
          "name": "Remove an IVR menu.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ivrs/:iv_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ivrs",
                ":iv_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "iv_id",
                  "value": "",
                  "description": "IVR menu: Which IVR menu (its `iv_id` from getIvrList)."
                }
              ]
            },
            "description": "Remove an IVR menu.\n\nChanges the service: the service must be Active. Needs the \"ivr\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Media files",
      "item": [
        {
          "name": "List media files.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/media",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "media"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List media files.\n\nWorks on Active and Suspended services. Needs the \"media\" feature on the service's product."
          }
        },
        {
          "name": "Upload a media file (multipart, field `me_file`).",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/media",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "media"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Upload a media file (multipart, field `me_file`).\n\nChanges the service: the service must be Active. Needs the \"media\" feature on the service's product."
          }
        },
        {
          "name": "Download a media file's audio.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/media/:item_id/file",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "media",
                ":item_id",
                "file"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "item_id",
                  "value": "",
                  "description": "Media file: The `me_id` from getMediaList."
                }
              ]
            },
            "description": "Download a media file's audio.\n\nWorks on Active and Suspended services. Needs the \"media\" feature on the service's product."
          }
        },
        {
          "name": "Rename a media file or replace its audio.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/media/:me_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "media",
                ":me_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "me_id",
                  "value": "",
                  "description": "Media file: Which media file (its `me_id` from getMediaList)."
                }
              ]
            },
            "description": "Rename a media file or replace its audio.\n\nChanges the service: the service must be Active. Needs the \"media\" feature on the service's product."
          }
        },
        {
          "name": "Remove a media file.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/media/:me_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "media",
                ":me_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "me_id",
                  "value": "",
                  "description": "Media file: Which media file (its `me_id` from getMediaList)."
                }
              ]
            },
            "description": "Remove a media file.\n\nChanges the service: the service must be Active. Needs the \"media\" feature on the service's product."
          }
        },
        {
          "name": "Rename a media file or replace its audio.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/media/:me_id/file",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "media",
                ":me_id",
                "file"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "me_id",
                  "value": "",
                  "description": "Media file: Which media file (its `me_id` from getMediaList)."
                }
              ]
            },
            "description": "Rename a media file or replace its audio.\n\nChanges the service: the service must be Active. Needs the \"media\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Meetings",
      "item": [
        {
          "name": "Booked meetings, meetings from the last 30 days, this month's usage and anything live, plus the extensions that can host.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Booked meetings, meetings from the last 30 days, this month's usage and anything live, plus the extensions that can host.\n\nWorks on Active and Suspended services. Needs the \"meeting\" feature on the service's product."
          }
        },
        {
          "name": "Book a meeting and email the invitations, each with a calendar entry.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mt_duration\": \"45\",\n  \"mt_invitees\": \"sam@example.com, alex@example.com\",\n  \"mt_message\": \"Agenda to follow.\",\n  \"mt_notify\": \"yes\",\n  \"mt_organiser\": \"201-AbCdEfGhIjKl\",\n  \"mt_organiser_email\": \"name@example.com\",\n  \"mt_starts\": \"2026-11-03T14:30\",\n  \"mt_title\": \"Quarterly review\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Book a meeting and email the invitations, each with a calendar entry.\n\nChanges the service: the service must be Active. Needs the \"meeting\" feature on the service's product."
          }
        },
        {
          "name": "Sign-in details to start an instant meeting as one of the account extensions (mt_organiser): extension, password and display name for the web app.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings/launch",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings",
                "launch"
              ],
              "query": [
                {
                  "key": "mt_organiser",
                  "value": "",
                  "description": "Host: The hosting extension as `<extension>-<tenant>`, one of `organisers` from getMeetingList.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Sign-in details to start an instant meeting as one of the account extensions (mt_organiser): extension, password and display name for the web app.\n\nWorks on Active and Suspended services. Needs the \"meeting\" feature on the service's product."
          }
        },
        {
          "name": "One past meeting: who came and for how long, assistants used, the AI summary and the transcript size.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings/:mt_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings",
                ":mt_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mt_id",
                  "value": "",
                  "description": "Meeting: The meeting `id`: from getMeetingList (`upcoming[].id` for booked meetings, `recent[].id` for past ones)."
                }
              ]
            },
            "description": "One past meeting: who came and for how long, assistants used, the AI summary and the transcript size.\n\nWorks on Active and Suspended services. Needs the \"meeting\" feature on the service's product."
          }
        },
        {
          "name": "Change a booked meeting: title, time, length, waiting room or host email. Invitees get an update when the time or title changes.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings/:mt_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings",
                ":mt_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mt_id",
                  "value": "",
                  "description": "Meeting: The meeting `id`: from getMeetingList (`upcoming[].id` for booked meetings, `recent[].id` for past ones)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mt_duration\": \"45\",\n  \"mt_id\": \"a1b2c3d4e5f6\",\n  \"mt_message\": \"Agenda to follow.\",\n  \"mt_notify\": \"yes\",\n  \"mt_organiser_email\": \"name@example.com\",\n  \"mt_starts\": \"2026-11-03T14:30\",\n  \"mt_title\": \"Quarterly review\",\n  \"mt_waiting\": \"yes\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a booked meeting: title, time, length, waiting room or host email. Invitees get an update when the time or title changes.\n\nChanges the service: the service must be Active. Needs the \"meeting\" feature on the service's product."
          }
        },
        {
          "name": "Cancel a booked meeting; everyone invited gets a cancellation.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings/:mt_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings",
                ":mt_id"
              ],
              "query": [
                {
                  "key": "mt_message",
                  "value": "",
                  "description": "Message: People wait until someone already in the meeting lets them in.",
                  "disabled": true
                },
                {
                  "key": "mt_notify",
                  "value": "",
                  "description": "Email the people invited: ' + (isEdit ? 'They get an update when the title, time or length changes.' : 'Untick to book without sending invitations.') + '",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mt_id",
                  "value": "",
                  "description": "Meeting: The meeting `id`: from getMeetingList (`upcoming[].id` for booked meetings, `recent[].id` for past ones)."
                }
              ]
            },
            "description": "Cancel a booked meeting; everyone invited gets a cancellation.\n\nChanges the service: the service must be Active. Needs the \"meeting\" feature on the service's product."
          }
        },
        {
          "name": "Invite more people to a booked meeting or take people off it (they get a cancellation).",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings/:mt_id/attendees",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings",
                ":mt_id",
                "attendees"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mt_id",
                  "value": "",
                  "description": "Meeting: The meeting `id`: from getMeetingList (`upcoming[].id` for booked meetings, `recent[].id` for past ones)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mt_add\": \"jo@example.com\",\n  \"mt_id\": \"a1b2c3d4e5f6\",\n  \"mt_message\": \"Agenda to follow.\",\n  \"mt_notify\": \"yes\",\n  \"mt_remove\": \"alex@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Invite more people to a booked meeting or take people off it (they get a cancellation).\n\nChanges the service: the service must be Active. Needs the \"meeting\" feature on the service's product."
          }
        },
        {
          "name": "Send the invitation again, to everyone invited or to the addresses given.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings/:mt_id/invitations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings",
                ":mt_id",
                "invitations"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mt_id",
                  "value": "",
                  "description": "Meeting: The meeting `id`: from getMeetingList (`upcoming[].id` for booked meetings, `recent[].id` for past ones)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mt_emails\": \"sam@example.com\",\n  \"mt_id\": \"a1b2c3d4e5f6\",\n  \"mt_message\": \"Agenda to follow.\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Send the invitation again, to everyone invited or to the addresses given.\n\nChanges the service: the service must be Active. Needs the \"meeting\" feature on the service's product."
          }
        },
        {
          "name": "Download a past meeting's transcript as a text file.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/meetings/:mt_id/transcript",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "meetings",
                ":mt_id",
                "transcript"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mt_id",
                  "value": "",
                  "description": "Meeting: The meeting `id`: from getMeetingList (`upcoming[].id` for booked meetings, `recent[].id` for past ones)."
                }
              ]
            },
            "description": "Download a past meeting's transcript as a text file.\n\nWorks on Active and Suspended services. Needs the \"meeting\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Music on hold",
      "item": [
        {
          "name": "List music-on-hold playlists and the account default.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/music-on-hold",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "music-on-hold"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List music-on-hold playlists and the account default.\n\nWorks on Active and Suspended services. Needs the \"musicOnHold\" feature on the service's product."
          }
        },
        {
          "name": "Add a music-on-hold playlist.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/music-on-hold",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "music-on-hold"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mh_name\": \"Reception\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a music-on-hold playlist.\n\nChanges the service: the service must be Active. Needs the \"musicOnHold\" feature on the service's product."
          }
        },
        {
          "name": "Change a music-on-hold playlist.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/music-on-hold/:mh_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "music-on-hold",
                ":mh_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mh_id",
                  "value": "",
                  "description": "Music-on-hold playlist: Which music-on-hold playlist (its `mh_id` from getMusicOnHoldList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mh_id\": \"123\",\n  \"mh_name\": \"Reception\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a music-on-hold playlist.\n\nChanges the service: the service must be Active. Needs the \"musicOnHold\" feature on the service's product."
          }
        },
        {
          "name": "Remove a music-on-hold playlist.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/music-on-hold/:mh_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "music-on-hold",
                ":mh_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mh_id",
                  "value": "",
                  "description": "Music-on-hold playlist: Which music-on-hold playlist (its `mh_id` from getMusicOnHoldList)."
                }
              ]
            },
            "description": "Remove a music-on-hold playlist.\n\nChanges the service: the service must be Active. Needs the \"musicOnHold\" feature on the service's product."
          }
        },
        {
          "name": "Make a playlist the account's default hold music.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/music-on-hold/:mh_id/default",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "music-on-hold",
                ":mh_id",
                "default"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mh_id",
                  "value": "",
                  "description": "Music-on-hold playlist: Which music-on-hold playlist (its `mh_id` from getMusicOnHoldList)."
                }
              ]
            },
            "description": "Make a playlist the account's default hold music.\n\nChanges the service: the service must be Active. Needs the \"musicOnHold\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Phone numbers",
      "item": [
        {
          "name": "Search for new numbers to add, by area code.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/number-search",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "number-search"
              ],
              "query": [
                {
                  "key": "area_code",
                  "value": "",
                  "description": "Area code: UK area code without the leading 0, e.g. `20`, `161`.",
                  "disabled": true
                },
                {
                  "key": "include_gold",
                  "value": "",
                  "description": "Include gold numbers: Truthy to include memorable (gold) numbers.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Search for new numbers to add, by area code.\n\nWorks on Active and Suspended services. Needs the \"destination\" feature on the service's product."
          }
        },
        {
          "name": "Find available numbers containing a digit pattern across every range, or one kind or area code; best matches first.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/number-search/patterns",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "number-search",
                "patterns"
              ],
              "query": [
                {
                  "key": "area_code",
                  "value": "",
                  "description": "Area code: Optional UK area code without the leading 0 to search within.",
                  "disabled": true
                },
                {
                  "key": "include_gold",
                  "value": "",
                  "description": "Include gold numbers: Truthy to include memorable (gold) numbers.",
                  "disabled": true
                },
                {
                  "key": "kind",
                  "value": "",
                  "description": "Range: `all` (default), `geo` (01/02), `nongeo` (03) or `freephone` (0800/0808). An `areaCode` implies `geo`.",
                  "disabled": true
                },
                {
                  "key": "pattern",
                  "value": "",
                  "description": "Digits to find: Digits with optional wildcards: `*` any run of digits, `?` one digit (e.g. `2424`, `?00?00`). At least two digits.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Find available numbers containing a digit pattern across every range, or one kind or area code; best matches first.\n\nWorks on Active and Suspended services. Needs the \"destination\" feature on the service's product."
          }
        },
        {
          "name": "List the account's phone numbers and where each routes.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "numbers"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List the account's phone numbers and where each routes.\n\nWorks on Active and Suspended services. Needs the \"destination\" feature on the service's product."
          }
        },
        {
          "name": "Add numbers to the service: ones held or found by number search, or new ones in an area code. Each is allocated, put on the phone system with its 999 address, and billed.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "numbers"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Add numbers to the service: ones held or found by number search, or new ones in an area code. Each is allocated, put on the phone system with its 999 address, and billed.\n\nChanges the service: the service must be Active. Needs the \"destination\" feature on the service's product."
          }
        },
        {
          "name": "Change a number: routing, recording, forward-all and its label.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/numbers/:di_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "numbers",
                ":di_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "di_id",
                  "value": "",
                  "description": "Phone number: Which phone number (its `di_id` from getDestinationList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"di_recording\": \"no\",\n  \"di_transcript\": \"no\",\n  \"di_aisummary\": \"no\",\n  \"di_aisentiment\": \"no\",\n  \"di_emailrecording\": \"name@example.com\",\n  \"di_minemailrecording\": \"name@example.com\",\n  \"di_fullprivacy\": \"no\",\n  \"di_allowemergency\": \"no\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a number: routing, recording, forward-all and its label.\n\nChanges the service: the service must be Active. Needs the \"destination\" feature on the service's product."
          }
        },
        {
          "name": "Read the 999 emergency address registered for a number, and whether it's valid.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/numbers/:di_id/999",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "numbers",
                ":di_id",
                "999"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "di_id",
                  "value": "",
                  "description": "Phone number: Which phone number (its `di_id` from getDestinationList)."
                }
              ]
            },
            "description": "Read the 999 emergency address registered for a number, and whether it's valid.\n\nWorks on Active and Suspended services. Needs the \"destination\" feature on the service's product."
          }
        },
        {
          "name": "Register or update the 999 emergency address for a number.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/numbers/:di_id/999",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "numbers",
                ":di_id",
                "999"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "di_id",
                  "value": "",
                  "description": "Phone number: Which phone number (its `di_id` from getDestinationList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"di_id\": \"123\",\n  \"forename\": \"Reception\",\n  \"name\": \"Reception\",\n  \"premises\": \"Reception\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Register or update the 999 emergency address for a number.\n\nChanges the service: the service must be Active. Needs the \"destination\" feature on the service's product."
          }
        },
        {
          "name": "Switch a number's forward-all on or off.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/numbers/:di_id/forward-all",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "numbers",
                ":di_id",
                "forward-all"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "di_id",
                  "value": "",
                  "description": "Phone number: Which phone number (its `di_id` from getDestinationList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"di_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Switch a number's forward-all on or off.\n\nChanges the service: the service must be Active. Needs the \"destination\" feature on the service's product."
          }
        },
        {
          "name": "List numbers routed to Microsoft Teams.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/teams-routing",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "teams-routing"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List numbers routed to Microsoft Teams.\n\nWorks on Active and Suspended services. Needs the \"teamsRouting\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Phone books",
      "item": [
        {
          "name": "List phone books.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phone-books",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phone-books"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List phone books.\n\nWorks on Active and Suspended services. Needs the \"phoneBook\" feature on the service's product."
          }
        },
        {
          "name": "Create a phone book.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phone-books",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phone-books"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"pb_name\": \"Reception\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Create a phone book.\n\nChanges the service: the service must be Active. Needs the \"phoneBook\" feature on the service's product."
          }
        },
        {
          "name": "Remove a phone book.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phone-books/:pb_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phone-books",
                ":pb_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "pb_id",
                  "value": "",
                  "description": "Phone book: Which phone book (its `pb_id` from getPhoneBookList)."
                }
              ]
            },
            "description": "Remove a phone book.\n\nChanges the service: the service must be Active. Needs the \"phoneBook\" feature on the service's product."
          }
        },
        {
          "name": "List the contacts in a phone book.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phone-books/:phonebook_id/contacts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phone-books",
                ":phonebook_id",
                "contacts"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "phonebook_id",
                  "value": "",
                  "description": "Phone book: The `pb_id` from getPhoneBookList."
                }
              ]
            },
            "description": "List the contacts in a phone book.\n\nWorks on Active and Suspended services. Needs the \"phoneBook\" feature on the service's product."
          }
        },
        {
          "name": "Add a contact to a phone book.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phone-books/:phonebook_id/contacts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phone-books",
                ":phonebook_id",
                "contacts"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "phonebook_id",
                  "value": "",
                  "description": "Phone book: The `pb_id` from getPhoneBookList."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phonebook_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a contact to a phone book.\n\nChanges the service: the service must be Active. Needs the \"phoneBook\" feature on the service's product."
          }
        },
        {
          "name": "Remove a contact from a phone book.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/phone-books/:phonebook_id/contacts/:peid",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "phone-books",
                ":phonebook_id",
                "contacts",
                ":peid"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "phonebook_id",
                  "value": "",
                  "description": "Phone book: The `pb_id` from getPhoneBookList."
                },
                {
                  "key": "peid",
                  "value": "",
                  "description": "Contact: The contact id from getPhoneBookContacts."
                }
              ]
            },
            "description": "Remove a contact from a phone book.\n\nChanges the service: the service must be Active. Needs the \"phoneBook\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Number porting",
      "item": [
        {
          "name": "List mobile number ports.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/mobile-ports",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "mobile-ports"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List mobile number ports.\n\nWorks on Active and Suspended services. Needs the \"mobilePort\" feature on the service's product."
          }
        },
        {
          "name": "Submit a mobile number port with its PAC.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/mobile-ports",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "mobile-ports"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"msisdn\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Submit a mobile number port with its PAC.\n\nChanges the service: the service must be Active. Needs the \"mobilePort\" feature on the service's product."
          }
        },
        {
          "name": "List ports and their progress.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ports",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ports"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "From: Start date, YYYY-MM-DD (any date strtotime() understands).",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "To: End date, YYYY-MM-DD.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List ports and their progress.\n\nWorks on Active and Suspended services. Needs the \"port\" feature on the service's product."
          }
        },
        {
          "name": "Submit a port: the numbers, the current provider, the address and the date.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ports",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ports"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"account_number\": \"441234567890\",\n  \"company\": \"Reception\",\n  \"forename\": \"Reception\",\n  \"lcp_cupid\": \"123\",\n  \"mbn\": \"441234567890\",\n  \"name\": \"Reception\",\n  \"number_action\": \"441234567890\",\n  \"number_number\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Submit a port: the numbers, the current provider, the address and the date.\n\nChanges the service: the service must be Active. Needs the \"port\" feature on the service's product."
          }
        },
        {
          "name": "Dates a port can be booked for.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ports/calendar",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ports",
                "calendar"
              ],
              "query": [
                {
                  "key": "channels",
                  "value": "",
                  "description": "Channels: The total number of channels that the end-user currently has from the LCP. Minimum = 1.",
                  "disabled": true
                },
                {
                  "key": "mbn",
                  "value": "",
                  "description": "MBN: Please enter your MBN (Main Billing Number)",
                  "disabled": true
                },
                {
                  "key": "port_numbers",
                  "value": "",
                  "description": "Numbers to port: Array of every number being ported (the main number plus each extra marked `port`); the response prices them all. Left out, only `mbn` is priced.",
                  "disabled": true
                },
                {
                  "key": "type",
                  "value": "",
                  "description": "Type",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Dates a port can be booked for.\n\nWorks on Active and Suspended services. Needs the \"port\" feature on the service's product."
          }
        },
        {
          "name": "Check whether a number can be ported to us, and who it's with.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ports/check",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ports",
                "check"
              ],
              "query": [
                {
                  "key": "account_number",
                  "value": "",
                  "description": "LCP Account Number (e.g BT000001): This can usually be found on your phone bill from your current provider.",
                  "disabled": true
                },
                {
                  "key": "mbn",
                  "value": "",
                  "description": "MBN: Please enter your MBN (Main Billing Number)",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Check whether a number can be ported to us, and who it's with.\n\nWorks on Active and Suspended services. Needs the \"port\" feature on the service's product."
          }
        },
        {
          "name": "Download a port's signed letter of authority (PDF).",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ports/:item_id/loa",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ports",
                ":item_id",
                "loa"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "item_id",
                  "value": "",
                  "description": "Port: The port reference from getPortList."
                }
              ]
            },
            "description": "Download a port's signed letter of authority (PDF).\n\nWorks on Active and Suspended services. Needs the \"port\" feature on the service's product."
          }
        },
        {
          "name": "Download the letter of authority for a port before it's signed (PDF).",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ports/:item_id/loa-draft",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ports",
                ":item_id",
                "loa-draft"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "item_id",
                  "value": "",
                  "description": "Port: The port reference from getPortList."
                }
              ]
            },
            "description": "Download the letter of authority for a port before it's signed (PDF).\n\nWorks on Active and Suspended services. Needs the \"port\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Queues",
      "item": [
        {
          "name": "List queues.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/queues",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "queues"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List queues.\n\nWorks on Active and Suspended services. Needs the \"queue\" feature on the service's product."
          }
        },
        {
          "name": "Add a queue.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/queues",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "queues"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"qu_name\": \"Reception\",\n  \"qu_ringinuse\": \"no\",\n  \"strategy\": \"RINGALL\",\n  \"qu_parameters\": \"tr\",\n  \"timeout\": \"30\",\n  \"retry\": \"15\",\n  \"announce_holdtime\": \"no\",\n  \"announce_round_seconds\": \"0\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a queue.\n\nChanges the service: the service must be Active. Needs the \"queue\" feature on the service's product."
          }
        },
        {
          "name": "Change a queue.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/queues/:qu_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "queues",
                ":qu_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "qu_id",
                  "value": "",
                  "description": "Queue: Which queue (its `qu_id` from getQueueList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"qu_name\": \"Reception\",\n  \"qu_ringinuse\": \"no\",\n  \"strategy\": \"RINGALL\",\n  \"qu_parameters\": \"tr\",\n  \"timeout\": \"30\",\n  \"retry\": \"15\",\n  \"announce_holdtime\": \"no\",\n  \"announce_round_seconds\": \"0\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a queue.\n\nChanges the service: the service must be Active. Needs the \"queue\" feature on the service's product."
          }
        },
        {
          "name": "Remove a queue.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/queues/:qu_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "queues",
                ":qu_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "qu_id",
                  "value": "",
                  "description": "Queue: Which queue (its `qu_id` from getQueueList)."
                }
              ]
            },
            "description": "Remove a queue.\n\nChanges the service: the service must be Active. Needs the \"queue\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Ring groups",
      "item": [
        {
          "name": "List ring groups.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ring-groups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ring-groups"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List ring groups.\n\nWorks on Active and Suspended services. Needs the \"huntList\" feature on the service's product."
          }
        },
        {
          "name": "Add a ring group.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ring-groups",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ring-groups"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"hu_name\": \"Reception\",\n  \"hu_number\": \"441234567890\",\n  \"hu_type\": \"RINGALL\",\n  \"hu_ringtime\": \"30\",\n  \"hu_dialtimeout\": \"3600\",\n  \"hu_confirmmessage_id\": \"123\",\n  \"hu_allowadditionaldestinations\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a ring group.\n\nChanges the service: the service must be Active. Needs the \"huntList\" feature on the service's product."
          }
        },
        {
          "name": "Change a ring group.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ring-groups/:hu_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ring-groups",
                ":hu_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "hu_id",
                  "value": "",
                  "description": "Ring group: Which ring group (its `hu_id` from getHuntListList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"hu_name\": \"Reception\",\n  \"hu_number\": \"441234567890\",\n  \"hu_type\": \"RINGALL\",\n  \"hu_ringtime\": \"30\",\n  \"hu_dialtimeout\": \"3600\",\n  \"hu_confirmmessage_id\": \"123\",\n  \"hu_allowadditionaldestinations\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a ring group.\n\nChanges the service: the service must be Active. Needs the \"huntList\" feature on the service's product."
          }
        },
        {
          "name": "Remove a ring group.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/ring-groups/:hu_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "ring-groups",
                ":hu_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "hu_id",
                  "value": "",
                  "description": "Ring group: Which ring group (its `hu_id` from getHuntListList)."
                }
              ]
            },
            "description": "Remove a ring group.\n\nChanges the service: the service must be Active. Needs the \"huntList\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Account settings",
      "item": [
        {
          "name": "List account settings and their values.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "settings"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List account settings and their values.\n\nWorks on Active and Suspended services. Needs the \"tenantSettings\" feature on the service's product."
          }
        },
        {
          "name": "Change account settings.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/settings",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "settings"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Change account settings.\n\nChanges the service: the service must be Active. Needs the \"tenantSettings\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Short numbers",
      "item": [
        {
          "name": "List short numbers.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/short-numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "short-numbers"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List short numbers.\n\nWorks on Active and Suspended services. Needs the \"shortNumber\" feature on the service's product."
          }
        },
        {
          "name": "Add a short number.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/short-numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "short-numbers"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sn_number\": \"441234567890\",\n  \"sn_destnumber\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a short number.\n\nChanges the service: the service must be Active. Needs the \"shortNumber\" feature on the service's product."
          }
        },
        {
          "name": "Change a short number.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/short-numbers/:sn_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "short-numbers",
                ":sn_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "sn_id",
                  "value": "",
                  "description": "Short number: Which short number (its `sn_id` from getShortNumberList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sn_number\": \"441234567890\",\n  \"sn_destnumber\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a short number.\n\nChanges the service: the service must be Active. Needs the \"shortNumber\" feature on the service's product."
          }
        },
        {
          "name": "Remove a short number.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/short-numbers/:sn_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "short-numbers",
                ":sn_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "sn_id",
                  "value": "",
                  "description": "Short number: Which short number (its `sn_id` from getShortNumberList)."
                }
              ]
            },
            "description": "Remove a short number.\n\nChanges the service: the service must be Active. Needs the \"shortNumber\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: SMS",
      "item": [
        {
          "name": "The SMS log for a date range.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "sms"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "From: Start date, YYYY-MM-DD (any date strtotime() understands).",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "To: End date, YYYY-MM-DD.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "The SMS log for a date range.\n\nWorks on Active and Suspended services. Needs the \"smsLog\" feature on the service's product."
          }
        },
        {
          "name": "Send an SMS from one of the account's numbers.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "sms"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Send an SMS from one of the account's numbers.\n\nChanges the service: the service must be Active. Needs the \"smsLog\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Time conditions",
      "item": [
        {
          "name": "UK bank holidays for a region, for date rules.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/bank-holidays",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "bank-holidays"
              ],
              "query": [
                {
                  "key": "co_param1",
                  "value": "",
                  "description": "Shared rule: Instead of `region`: the id of the shared bank-holiday rule; its region is used.",
                  "disabled": true
                },
                {
                  "key": "region",
                  "value": "",
                  "description": "Region: UK bank-holiday region, e.g. `england-and-wales`, `scotland`, `northern-ireland`.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "UK bank holidays for a region, for date rules.\n\nWorks on Active and Suspended services. Needs the \"condition\" feature on the service's product."
          }
        },
        {
          "name": "List time rules.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/time-conditions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "time-conditions"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List time rules.\n\nWorks on Active and Suspended services. Needs the \"condition\" feature on the service's product."
          }
        },
        {
          "name": "Add a time rule.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/time-conditions",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "time-conditions"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"co_name\": \"Reception\",\n  \"co_type\": \"WEEKTIME\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a time rule.\n\nChanges the service: the service must be Active. Needs the \"condition\" feature on the service's product."
          }
        },
        {
          "name": "Read a time rule's schedule (its weekly times or dates).",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/time-conditions/:co_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "time-conditions",
                ":co_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "co_id",
                  "value": "",
                  "description": "Time rule: Which time rule (its `co_id` from getConditionList)."
                }
              ]
            },
            "description": "Read a time rule's schedule (its weekly times or dates).\n\nWorks on Active and Suspended services. Needs the \"condition\" feature on the service's product."
          }
        },
        {
          "name": "Change a time rule: its schedule, dates or caller numbers, and where calls go either way.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/time-conditions/:co_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "time-conditions",
                ":co_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "co_id",
                  "value": "",
                  "description": "Time rule: Which time rule (its `co_id` from getConditionList)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"co_dest_true\": \"441234567890\",\n  \"co_dest_false\": \"441234567890\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a time rule: its schedule, dates or caller numbers, and where calls go either way.\n\nChanges the service: the service must be Active. Needs the \"condition\" feature on the service's product."
          }
        },
        {
          "name": "Remove a time rule.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/time-conditions/:co_id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "time-conditions",
                ":co_id"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "co_id",
                  "value": "",
                  "description": "Time rule: Which time rule (its `co_id` from getConditionList)."
                }
              ]
            },
            "description": "Remove a time rule.\n\nChanges the service: the service must be Active. Needs the \"condition\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Voice agents",
      "item": [
        {
          "name": "Voice agents and the extensions they can be connected to.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voice-agents",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voice-agents"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "Voice agents and the extensions they can be connected to.\n\nWorks on Active and Suspended services. Needs the \"voiceAgent\" feature on the service's product."
          }
        },
        {
          "name": "Connect a voice agent to an extension.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voice-agents/:agent_id/connect",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voice-agents",
                ":agent_id",
                "connect"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "agent_id",
                  "value": "",
                  "description": "Voice agent: The voice agent id from getVoiceAgentExtensions."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"agent_id\": \"123\",\n  \"ex_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Connect a voice agent to an extension.\n\nChanges the service: the service must be Active. Needs the \"voiceAgent\" feature on the service's product."
          }
        },
        {
          "name": "Disconnect a voice agent.",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voice-agents/:agent_id/disconnect",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voice-agents",
                ":agent_id",
                "disconnect"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "agent_id",
                  "value": "",
                  "description": "Voice agent: The voice agent id from getVoiceAgentExtensions."
                }
              ]
            },
            "description": "Disconnect a voice agent.\n\nChanges the service: the service must be Active. Needs the \"voiceAgent\" feature on the service's product."
          }
        }
      ]
    },
    {
      "name": "VoIP: Voicemail",
      "item": [
        {
          "name": "List voicemail boxes.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "List voicemail boxes.\n\nWorks on Active and Suspended services. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "Add a voicemail box.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"fullname\": \"Reception\",\n  \"password\": \"S3cure-Pass!\",\n  \"welcomeoption\": \"Auto\",\n  \"language\": \"en_GB\",\n  \"timezone\": \"Europe/London\",\n  \"email\": \"name@example.com\",\n  \"attach\": \"on\",\n  \"deletevoicemail\": \"name@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Add a voicemail box.\n\nChanges the service: the service must be Active. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "New and old message counts per voicemail box.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes/counts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes",
                "counts"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                }
              ]
            },
            "description": "New and old message counts per voicemail box.\n\nWorks on Active and Suspended services. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "List the messages in a voicemail box.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes/:mailbox/messages",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes",
                ":mailbox",
                "messages"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mailbox",
                  "value": "",
                  "description": "Mailbox: The voicemail box number (`vm_mailbox`/`uniqueid` from getVoicemailList)."
                }
              ]
            },
            "description": "List the messages in a voicemail box.\n\nWorks on Active and Suspended services. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "Download a voicemail message as audio. Marks it read.",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes/:mailbox/messages/:msg_id/audio",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes",
                ":mailbox",
                "messages",
                ":msg_id",
                "audio"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mailbox",
                  "value": "",
                  "description": "Mailbox: The voicemail box number (`vm_mailbox`/`uniqueid` from getVoicemailList)."
                },
                {
                  "key": "msg_id",
                  "value": "",
                  "description": "Message: The message id from getVoicemailMessages."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"msg_id\": \"123\",\n  \"row_id\": \"123\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Download a voicemail message as audio. Marks it read.\n\nChanges the service: the service must be Active. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "Mark a voicemail message read.",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes/:mailbox/messages/:msg_id/read",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes",
                ":mailbox",
                "messages",
                ":msg_id",
                "read"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mailbox",
                  "value": "",
                  "description": "Mailbox: The voicemail box number (`vm_mailbox`/`uniqueid` from getVoicemailList)."
                },
                {
                  "key": "msg_id",
                  "value": "",
                  "description": "Message: The message id from getVoicemailMessages."
                }
              ]
            },
            "description": "Mark a voicemail message read.\n\nChanges the service: the service must be Active. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "Mark a voicemail message unread.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes/:mailbox/messages/:msg_id/read",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes",
                ":mailbox",
                "messages",
                ":msg_id",
                "read"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mailbox",
                  "value": "",
                  "description": "Mailbox: The voicemail box number (`vm_mailbox`/`uniqueid` from getVoicemailList)."
                },
                {
                  "key": "msg_id",
                  "value": "",
                  "description": "Message: The message id from getVoicemailMessages."
                }
              ]
            },
            "description": "Mark a voicemail message unread.\n\nChanges the service: the service must be Active. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "Read a voicemail message's transcript and summary.",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes/:mailbox/messages/:msg_id/transcript",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes",
                ":mailbox",
                "messages",
                ":msg_id",
                "transcript"
              ],
              "query": [
                {
                  "key": "row_id",
                  "value": "",
                  "description": "Message row: The message row id from getVoicemailMessages, where the list gives one.",
                  "disabled": true
                }
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "mailbox",
                  "value": "",
                  "description": "Mailbox: The voicemail box number (`vm_mailbox`/`uniqueid` from getVoicemailList)."
                },
                {
                  "key": "msg_id",
                  "value": "",
                  "description": "Message: The message id from getVoicemailMessages."
                }
              ]
            },
            "description": "Read a voicemail message's transcript and summary.\n\nWorks on Active and Suspended services. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "Change a voicemail box.",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes/:uniqueid",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes",
                ":uniqueid"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "uniqueid",
                  "value": "",
                  "description": "Id: The item's `uniqueid` from its list."
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"fullname\": \"Reception\",\n  \"password\": \"S3cure-Pass!\",\n  \"welcomeoption\": \"Auto\",\n  \"language\": \"en_GB\",\n  \"timezone\": \"Europe/London\",\n  \"email\": \"name@example.com\",\n  \"attach\": \"on\",\n  \"deletevoicemail\": \"name@example.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Change a voicemail box.\n\nChanges the service: the service must be Active. Needs the \"voicemail\" feature on the service's product."
          }
        },
        {
          "name": "Remove a voicemail box.",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/voip/services/:service_id/voicemail-boxes/:uniqueid",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "voip",
                "services",
                ":service_id",
                "voicemail-boxes",
                ":uniqueid"
              ],
              "variable": [
                {
                  "key": "service_id",
                  "value": "",
                  "description": "The VoIP service, from VoipServices or VoipEstate (hostingId)."
                },
                {
                  "key": "uniqueid",
                  "value": "",
                  "description": "Id: The item's `uniqueid` from its list."
                }
              ]
            },
            "description": "Remove a voicemail box.\n\nChanges the service: the service must be Active. Needs the \"voicemail\" feature on the service's product."
          }
        }
      ]
    }
  ]
}