{
  "info": {
    "name": "VoicePro Plus API v3",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Every live call of the VoicePro Plus API v3. Set the apiKey variable to your key (a test key charges nothing). Reference: https://voicepro.plus/developers"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.voicepro.plus/v3"
    },
    {
      "key": "apiKey",
      "value": "vpkey_YOUR_KEY"
    }
  ],
  "item": [
    {
      "name": "Account",
      "item": [
        {
          "name": "The workspace this key belongs to, the services on it and the key's own scopes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/account",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "account"
              ]
            },
            "description": "The workspace this key belongs to, the services on it and the key's own scopes."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/account",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "account"
                  ]
                },
                "description": "The workspace this key belongs to, the services on it and the key's own scopes."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"account\",\n  \"id\": \"acct_AB12CD\",\n  \"name\": \"Acme Logistics\",\n  \"legal_name\": \"Acme Logistics Ltd\",\n  \"status\": \"active\",\n  \"country\": \"GB\",\n  \"timezone\": \"Europe/London\",\n  \"currency\": \"GBP\",\n  \"parent_account_id\": null,\n  \"created_at\": \"2026-10-01T09:00:00Z\",\n  \"services\": {\n    \"mobile_sims\": {\n      \"enabled\": true,\n      \"count\": 12,\n      \"active_count\": 11\n    },\n    \"numbers\": {\n      \"enabled\": true,\n      \"count\": 3\n    },\n    \"voice_trunk\": {\n      \"enabled\": true\n    },\n    \"sms_route\": {\n      \"enabled\": false\n    },\n    \"iot\": {\n      \"enabled\": true\n    }\n  },\n  \"spending_limit\": {\n    \"limit\": {\n      \"amount\": 250000,\n      \"currency\": \"GBP\"\n    },\n    \"alert_percentages\": [\n      80,\n      100\n    ]\n  },\n  \"sso\": {\n    \"domain\": \"example.com\",\n    \"providers\": [\n      \"microsoft\"\n    ],\n    \"required\": false\n  },\n  \"open_invoice_count\": 1,\n  \"authenticated_as\": {\n    \"type\": \"api_key\",\n    \"key_id\": \"key_1A2B3C4D\",\n    \"mode\": \"live\",\n    \"scopes\": [\n      \"read\",\n      \"billing:read\"\n    ]\n  }\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Sub-accounts, each with its counts of SIMs, numbers and active members, and whether it has a voice trunk",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/sub_accounts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sub_accounts"
              ]
            },
            "description": "Sub-accounts, each with its counts of SIMs, numbers and active members, and whether it has a voice trunk."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/sub_accounts",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "sub_accounts"
                  ]
                },
                "description": "Sub-accounts, each with its counts of SIMs, numbers and active members, and whether it has a voice trunk."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"sub_account\",\n      \"id\": \"acct_EF34GH\",\n      \"name\": \"Acme Logistics North\",\n      \"status\": \"active\",\n      \"sim_count\": 4,\n      \"number_count\": 1,\n      \"voice_trunk\": false,\n      \"member_count\": 5\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Open incidents and planned maintenance (next 3 days) affecting this account's services",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/incidents",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "incidents"
              ]
            },
            "description": "Open incidents and planned maintenance (next 3 days) affecting this account's services."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/incidents",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "incidents"
                  ]
                },
                "description": "Open incidents and planned maintenance (next 3 days) affecting this account's services."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"incident\",\n      \"id\": \"inc_20261021a\",\n      \"title\": \"Delayed usage figures\",\n      \"kind\": \"incident\",\n      \"impact\": \"minor\",\n      \"components\": [\n        \"usage\"\n      ],\n      \"started_at\": \"2026-10-21T07:40:00Z\",\n      \"resolved_at\": \"2026-10-21T08:25:00Z\",\n      \"status_page_url\": \"https://status.voicepro.plus\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "SIMs",
      "item": [
        {
          "name": "Mobile SIMs with this month's usage",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/sims?status=active",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sims"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "active"
                }
              ]
            },
            "description": "Mobile SIMs with this month's usage."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/sims?status=active",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "sims"
                  ],
                  "query": [
                    {
                      "key": "status",
                      "value": "active"
                    }
                  ]
                },
                "description": "Mobile SIMs with this month's usage."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"sim\",\n      \"id\": \"sim_K7M2Q9\",\n      \"label\": \"Warehouse van 3\",\n      \"plan_name\": \"Business+ Essentials\",\n      \"add_ons\": [\n        \"EU Roaming\"\n      ],\n      \"iccid\": \"8944500102345678901\",\n      \"phone_number\": \"+447700900123\",\n      \"country\": \"GB\",\n      \"status\": \"active\",\n      \"holder_name\": \"Sam Taylor\",\n      \"data_cap_gb\": 30,\n      \"created_at\": \"2026-10-02T09:14:00Z\",\n      \"activated_at\": \"2026-10-02T11:40:00Z\",\n      \"month_to_date\": {\n        \"data_bytes\": 4831838208,\n        \"roaming_bytes\": 214748364,\n        \"calls\": 42,\n        \"sms\": 17,\n        \"countries\": [\n          \"GB\",\n          \"FR\"\n        ]\n      },\n      \"data_as_of\": \"2026-10-28T08:55:00Z\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Add a business mobile SIM line",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sims",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sims"
              ]
            },
            "description": "Add a business mobile SIM line.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"Field ops, Berlin lead\",\n  \"plan\": \"elite\",\n  \"add_ons\": [\n    \"travel_data\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/sims",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "sims"
                  ]
                },
                "description": "Add a business mobile SIM line.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"label\": \"Field ops, Berlin lead\",\n  \"plan\": \"elite\",\n  \"add_ons\": [\n    \"travel_data\"\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"sim\",\n  \"id\": \"sim_N4P8R2\",\n  \"label\": \"Field ops, Berlin lead\",\n  \"plan_name\": \"Business+ Elite\",\n  \"add_ons\": [\n    \"Travel data add-on\"\n  ],\n  \"iccid\": null,\n  \"phone_number\": null,\n  \"country\": \"GB\",\n  \"status\": \"active\",\n  \"holder_name\": null,\n  \"data_cap_gb\": null,\n  \"created_at\": \"2026-10-29T11:00:00Z\",\n  \"activated_at\": \"2026-10-29T11:00:00Z\",\n  \"month_to_date\": {\n    \"data_bytes\": 0,\n    \"roaming_bytes\": 0,\n    \"calls\": 0,\n    \"sms\": 0,\n    \"countries\": []\n  },\n  \"data_as_of\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One mobile SIM",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/sims/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sims",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_K7M2Q9"
                }
              ]
            },
            "description": "One mobile SIM."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/sims/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "sims",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_K7M2Q9"
                    }
                  ]
                },
                "description": "One mobile SIM."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"sim\",\n  \"id\": \"sim_K7M2Q9\",\n  \"label\": \"Warehouse van 3\",\n  \"plan_name\": \"Business+ Essentials\",\n  \"add_ons\": [\n    \"EU Roaming\"\n  ],\n  \"iccid\": \"8944500102345678901\",\n  \"phone_number\": \"+447700900123\",\n  \"country\": \"GB\",\n  \"status\": \"active\",\n  \"holder_name\": \"Sam Taylor\",\n  \"data_cap_gb\": 30,\n  \"created_at\": \"2026-10-02T09:14:00Z\",\n  \"activated_at\": \"2026-10-02T11:40:00Z\",\n  \"month_to_date\": {\n    \"data_bytes\": 4831838208,\n    \"roaming_bytes\": 214748364,\n    \"calls\": 42,\n    \"sms\": 17,\n    \"countries\": [\n      \"GB\",\n      \"FR\"\n    ]\n  },\n  \"data_as_of\": \"2026-10-28T08:55:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Usage for a time range (at most 400 days)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/sims/:id/usage?from=2026-10-01T00%3A00%3A00Z&to=2026-10-28T00%3A00%3A00Z&step=1d",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sims",
                ":id",
                "usage"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "2026-10-01T00:00:00Z"
                },
                {
                  "key": "to",
                  "value": "2026-10-28T00:00:00Z"
                },
                {
                  "key": "step",
                  "value": "1d"
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_K7M2Q9"
                }
              ]
            },
            "description": "Usage for a time range (at most 400 days)."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/sims/:id/usage?from=2026-10-01T00%3A00%3A00Z&to=2026-10-28T00%3A00%3A00Z&step=1d",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "sims",
                    ":id",
                    "usage"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-10-01T00:00:00Z"
                    },
                    {
                      "key": "to",
                      "value": "2026-10-28T00:00:00Z"
                    },
                    {
                      "key": "step",
                      "value": "1d"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_K7M2Q9"
                    }
                  ]
                },
                "description": "Usage for a time range (at most 400 days)."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"sim_usage\",\n  \"sim_id\": \"sim_K7M2Q9\",\n  \"range\": {\n    \"from\": \"2026-10-01T00:00:00Z\",\n    \"to\": \"2026-10-28T00:00:00Z\",\n    \"step\": \"1d\",\n    \"timezone\": \"Europe/London\"\n  },\n  \"totals\": {\n    \"data_bytes\": 4831838208,\n    \"roaming_bytes\": 214748364,\n    \"calls\": 42,\n    \"call_seconds\": 5210,\n    \"sms\": 17\n  },\n  \"previous\": {\n    \"data_bytes\": 3951369912,\n    \"roaming_bytes\": 0,\n    \"calls\": 38,\n    \"call_seconds\": 4480,\n    \"sms\": 21\n  },\n  \"series\": [\n    {\n      \"t\": \"2026-10-26T00:00:00Z\",\n      \"data_bytes\": 187695104,\n      \"calls\": 3,\n      \"sms\": 1\n    },\n    {\n      \"t\": \"2026-10-27T00:00:00Z\",\n      \"data_bytes\": 201326592,\n      \"calls\": 2,\n      \"sms\": 0\n    }\n  ],\n  \"by_country\": [\n    {\n      \"country\": \"GB\",\n      \"data_bytes\": 4617089843\n    },\n    {\n      \"country\": \"FR\",\n      \"data_bytes\": 214748365\n    }\n  ],\n  \"data_as_of\": \"2026-10-28T08:55:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Suspend a SIM on the network: no calls, texts or data until it is reactivated",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sims/:id/suspend",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sims",
                ":id",
                "suspend"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_K7M2Q9"
                }
              ]
            },
            "description": "Suspend a SIM on the network: no calls, texts or data until it is reactivated."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/sims/:id/suspend",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "sims",
                    ":id",
                    "suspend"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_K7M2Q9"
                    }
                  ]
                },
                "description": "Suspend a SIM on the network: no calls, texts or data until it is reactivated."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"sim_state\",\n  \"sim_id\": \"sim_K7M2Q9\",\n  \"status\": \"suspended\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Reactivate a suspended SIM",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sims/:id/reactivate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sims",
                ":id",
                "reactivate"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_K7M2Q9"
                }
              ]
            },
            "description": "Reactivate a suspended SIM."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/sims/:id/reactivate",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "sims",
                    ":id",
                    "reactivate"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_K7M2Q9"
                    }
                  ]
                },
                "description": "Reactivate a suspended SIM."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"sim_state\",\n  \"sim_id\": \"sim_K7M2Q9\",\n  \"status\": \"active\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "IoT SIMs",
      "item": [
        {
          "name": "IoT SIMs. 404 service_not_enabled without IoT",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/sims",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims"
              ]
            },
            "description": "IoT SIMs. 404 service_not_enabled without IoT."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims"
                  ]
                },
                "description": "IoT SIMs. 404 service_not_enabled without IoT."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"iot_sim\",\n      \"id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n      \"iccid\": \"8944501234567890123\",\n      \"label\": \"Trailer tracker 12\",\n      \"activated\": true,\n      \"online\": true,\n      \"network\": {\n        \"name\": \"Network GB\",\n        \"country\": \"GB\",\n        \"mcc\": \"234\",\n        \"mnc\": \"10\"\n      },\n      \"network_type\": \"4G\",\n      \"last_seen_at\": \"2026-10-28T08:52:11Z\",\n      \"imei_lock\": null,\n      \"data_limit\": {\n        \"total_bytes\": 524288000,\n        \"period\": \"monthly\",\n        \"alert_bytes\": 419430400\n      },\n      \"month_bytes\": 73400320,\n      \"data_as_of\": \"2026-10-28T08:55:00Z\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One IoT SIM with this month's data",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/sims/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                }
              ]
            },
            "description": "One IoT SIM with this month's data."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                    }
                  ]
                },
                "description": "One IoT SIM with this month's data."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_sim\",\n  \"id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n  \"iccid\": \"8944501234567890123\",\n  \"label\": \"Trailer tracker 12\",\n  \"activated\": true,\n  \"online\": true,\n  \"network\": {\n    \"name\": \"Network GB\",\n    \"country\": \"GB\",\n    \"mcc\": \"234\",\n    \"mnc\": \"10\"\n  },\n  \"network_type\": \"4G\",\n  \"last_seen_at\": \"2026-10-28T08:52:11Z\",\n  \"imei_lock\": null,\n  \"data_limit\": {\n    \"total_bytes\": 524288000,\n    \"period\": \"monthly\",\n    \"alert_bytes\": 419430400\n  },\n  \"month_bytes\": 73400320,\n  \"data_as_of\": \"2026-10-28T08:55:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Change one SIM: its name, on or off, IMEI lock, data limit or radio technologies. Checked in full before anything is sent; the answer is the SIM afterwards",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/sims/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                }
              ]
            },
            "description": "Change one SIM: its name, on or off, IMEI lock, data limit or radio technologies. Checked in full before anything is sent; the answer is the SIM afterwards.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"label\": \"Trailer tracker 12 (depot)\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                    }
                  ]
                },
                "description": "Change one SIM: its name, on or off, IMEI lock, data limit or radio technologies. Checked in full before anything is sent; the answer is the SIM afterwards.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"label\": \"Trailer tracker 12 (depot)\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_sim\",\n  \"id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n  \"iccid\": \"8944501234567890123\",\n  \"label\": \"Trailer tracker 12 (depot)\",\n  \"activated\": true,\n  \"online\": true,\n  \"network\": {\n    \"name\": \"Network GB\",\n    \"country\": \"GB\",\n    \"mcc\": \"234\",\n    \"mnc\": \"10\"\n  },\n  \"network_type\": \"4G\",\n  \"last_seen_at\": \"2026-10-28T08:52:11Z\",\n  \"imei_lock\": null,\n  \"data_limit\": {\n    \"total_bytes\": 524288000,\n    \"period\": \"monthly\",\n    \"alert_bytes\": 419430400\n  },\n  \"data_as_of\": \"2026-10-28T09:01:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "The network log of one IoT SIM over a time range, newest first: authentication results (allowed or refused, with the network's reason), attaches, data sessions starting, detaches with the session's bytes, and location updates. Default range: the last 7 days; at most 31 days. truncated is true when the range held more than 5,000 network rows (narrow the range). Reads are limited to 10 a minute per account",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/sims/:id/events?from=2026-10-27T00%3A00%3A00Z&to=2026-10-28T00%3A00%3A00Z",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims",
                ":id",
                "events"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "2026-10-27T00:00:00Z"
                },
                {
                  "key": "to",
                  "value": "2026-10-28T00:00:00Z"
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                }
              ]
            },
            "description": "The network log of one IoT SIM over a time range, newest first: authentication results (allowed or refused, with the network's reason), attaches, data sessions starting, detaches with the session's bytes, and location updates. Default range: the last 7 days; at most 31 days. truncated is true when the range held more than 5,000 network rows (narrow the range). Reads are limited to 10 a minute per account."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims/:id/events?from=2026-10-27T00%3A00%3A00Z&to=2026-10-28T00%3A00%3A00Z",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims",
                    ":id",
                    "events"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-10-27T00:00:00Z"
                    },
                    {
                      "key": "to",
                      "value": "2026-10-28T00:00:00Z"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                    }
                  ]
                },
                "description": "The network log of one IoT SIM over a time range, newest first: authentication results (allowed or refused, with the network's reason), attaches, data sessions starting, detaches with the session's bytes, and location updates. Default range: the last 7 days; at most 31 days. truncated is true when the range held more than 5,000 network rows (narrow the range). Reads are limited to 10 a minute per account."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"iot_event\",\n      \"time\": \"2026-10-28T08:52:11Z\",\n      \"type\": \"data_session_start\",\n      \"outcome\": \"allowed\",\n      \"reason\": null,\n      \"message\": null,\n      \"network\": {\n        \"name\": \"Network GB\",\n        \"country\": \"GB\",\n        \"mcc\": \"234\",\n        \"mnc\": \"10\"\n      },\n      \"network_type\": \"4G\",\n      \"imei\": \"356938035643809\",\n      \"ip\": \"198.51.100.24\",\n      \"session_id\": \"sess_9f2k7m\",\n      \"upload_bytes\": null,\n      \"download_bytes\": null,\n      \"bytes\": null,\n      \"location\": {\n        \"cell_id\": 52011,\n        \"area_code\": 1203,\n        \"accuracy_m\": 350,\n        \"lat\": 51.5072,\n        \"lng\": -0.1276\n      }\n    }\n  ],\n  \"has_more\": true,\n  \"next_cursor\": \"eyJrIjoiMjAyNi0xMC0yOFQwODo1MjoxMVoifQ\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One change for up to 5,000 of the account's IoT SIMs, run in the background",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/bulk_jobs",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "bulk_jobs"
              ]
            },
            "description": "One change for up to 5,000 of the account's IoT SIMs, run in the background.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sim_ids\": [\n    \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n    \"sim_b4nq7zx2kw5rm3dh6ctvfypa\"\n  ],\n  \"change\": {\n    \"data_limit\": {\n      \"total_bytes\": 1073741824,\n      \"period\": \"monthly\",\n      \"alert_bytes\": 858993459\n    }\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/bulk_jobs",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "bulk_jobs"
                  ]
                },
                "description": "One change for up to 5,000 of the account's IoT SIMs, run in the background.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"sim_ids\": [\n    \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n    \"sim_b4nq7zx2kw5rm3dh6ctvfypa\"\n  ],\n  \"change\": {\n    \"data_limit\": {\n      \"total_bytes\": 1073741824,\n      \"period\": \"monthly\",\n      \"alert_bytes\": 858993459\n    }\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_bulk_job\",\n  \"id\": \"bulk_3f9a1c7e5b2d4a6c8e0f1a2b\",\n  \"status\": \"done\",\n  \"change\": {\n    \"data_limit\": {\n      \"total_bytes\": 1073741824,\n      \"period\": \"monthly\",\n      \"alert_bytes\": 858993459\n    }\n  },\n  \"total\": 2,\n  \"processed\": 2,\n  \"succeeded\": 2,\n  \"failed\": 0,\n  \"created_at\": \"2026-10-28T09:10:00Z\",\n  \"finished_at\": \"2026-10-28T09:10:04Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One bulk job with its progress",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/bulk_jobs/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "bulk_jobs",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "bulk_3f9a1c7e5b2d4a6c8e0f1a2b"
                }
              ]
            },
            "description": "One bulk job with its progress."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/bulk_jobs/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "bulk_jobs",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "bulk_3f9a1c7e5b2d4a6c8e0f1a2b"
                    }
                  ]
                },
                "description": "One bulk job with its progress."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_bulk_job\",\n  \"id\": \"bulk_3f9a1c7e5b2d4a6c8e0f1a2b\",\n  \"status\": \"done\",\n  \"change\": {\n    \"data_limit\": {\n      \"total_bytes\": 1073741824,\n      \"period\": \"monthly\",\n      \"alert_bytes\": 858993459\n    }\n  },\n  \"total\": 2,\n  \"processed\": 2,\n  \"succeeded\": 2,\n  \"failed\": 0,\n  \"created_at\": \"2026-10-28T09:10:00Z\",\n  \"finished_at\": \"2026-10-28T09:10:04Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Each SIM's result, in the order asked: ok, failed with a reason, or pending. CSV with Accept: text/csv",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/bulk_jobs/:id/results",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "bulk_jobs",
                ":id",
                "results"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "bulk_3f9a1c7e5b2d4a6c8e0f1a2b"
                }
              ]
            },
            "description": "Each SIM's result, in the order asked: ok, failed with a reason, or pending. CSV with Accept: text/csv."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/bulk_jobs/:id/results",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "bulk_jobs",
                    ":id",
                    "results"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "bulk_3f9a1c7e5b2d4a6c8e0f1a2b"
                    }
                  ]
                },
                "description": "Each SIM's result, in the order asked: ok, failed with a reason, or pending. CSV with Accept: text/csv."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"iot_bulk_result\",\n      \"sim_id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n      \"iccid\": \"8944501234567890123\",\n      \"status\": \"ok\",\n      \"reason\": null\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "The SIM's eSIM profile state (for example RELEASED, DOWNLOADED, ENABLED); null for a physical SIM",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/sims/:id/esim",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims",
                ":id",
                "esim"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                }
              ]
            },
            "description": "The SIM's eSIM profile state (for example RELEASED, DOWNLOADED, ENABLED); null for a physical SIM."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims/:id/esim",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims",
                    ":id",
                    "esim"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                    }
                  ]
                },
                "description": "The SIM's eSIM profile state (for example RELEASED, DOWNLOADED, ENABLED); null for a physical SIM."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_esim\",\n  \"sim_id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n  \"profile_status\": null,\n  \"data_as_of\": \"2026-10-28T09:01:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "The SIM's last 100 SMS, newest first: time, direction and status. Message text is not kept here; it arrives by the iot.sms webhook",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/sims/:id/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims",
                ":id",
                "sms"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                }
              ]
            },
            "description": "The SIM's last 100 SMS, newest first: time, direction and status. Message text is not kept here; it arrives by the iot.sms webhook."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims/:id/sms",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims",
                    ":id",
                    "sms"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                    }
                  ]
                },
                "description": "The SIM's last 100 SMS, newest first: time, direction and status. Message text is not kept here; it arrives by the iot.sms webhook."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"iot_sms\",\n      \"sim_id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n      \"at\": \"2026-10-28T08:40:12Z\",\n      \"direction\": \"to_device\",\n      \"status\": null\n    },\n    {\n      \"object\": \"iot_sms\",\n      \"sim_id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n      \"at\": \"2026-10-27T17:02:45Z\",\n      \"direction\": \"from_device\",\n      \"status\": null\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Send a text SMS to the device on an IoT SIM (configuration, wake-up)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/sims/:id/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims",
                ":id",
                "sms"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                }
              ]
            },
            "description": "Send a text SMS to the device on an IoT SIM (configuration, wake-up).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"text\": \"APN=iot.example\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims/:id/sms",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims",
                    ":id",
                    "sms"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                    }
                  ]
                },
                "description": "Send a text SMS to the device on an IoT SIM (configuration, wake-up).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"text\": \"APN=iot.example\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_sms\",\n  \"sim_id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n  \"direction\": \"to_device\",\n  \"text\": \"APN=iot.example\",\n  \"status\": \"accepted\",\n  \"accepted_at\": \"2026-10-29T09:30:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Restrict a SIM to one of your account's network lists, or lift the restriction (name null)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/sims/:id/network_list",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims",
                ":id",
                "network_list"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                }
              ]
            },
            "description": "Restrict a SIM to one of your account's network lists, or lift the restriction (name null).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"uk-only\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims/:id/network_list",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims",
                    ":id",
                    "network_list"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                    }
                  ]
                },
                "description": "Restrict a SIM to one of your account's network lists, or lift the restriction (name null).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"uk-only\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_sim_network_list\",\n  \"sim_id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n  \"network_list\": \"uk-only\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Your account's network lists: the mobile networks (MCC and MNC) a SIM on the list may use. Lists are set up with our IoT team",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/network_lists",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "network_lists"
              ]
            },
            "description": "Your account's network lists: the mobile networks (MCC and MNC) a SIM on the list may use. Lists are set up with our IoT team."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/network_lists",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "network_lists"
                  ]
                },
                "description": "Your account's network lists: the mobile networks (MCC and MNC) a SIM on the list may use. Lists are set up with our IoT team."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"iot_network_list\",\n      \"name\": \"uk-only\",\n      \"networks\": [\n        {\n          \"mcc\": \"234\",\n          \"mnc\": \"10\"\n        },\n        {\n          \"mcc\": \"234\",\n          \"mnc\": \"15\"\n        },\n        {\n          \"mcc\": \"234\",\n          \"mnc\": \"20\"\n        },\n        {\n          \"mcc\": \"234\",\n          \"mnc\": \"30\"\n        }\n      ]\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "IoT connectors",
      "item": [
        {
          "name": "Send one IoT SIM's traffic through one of your connectors, or through none (connector null)",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/sims/:id/connector",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "sims",
                ":id",
                "connector"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                }
              ]
            },
            "description": "Send one IoT SIM's traffic through one of your connectors, or through none (connector null).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"connector\": \"acme-ingest\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/sims/:id/connector",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "sims",
                    ":id",
                    "connector"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "sim_7k2mqqxw4hd3nvbc5rtfz6ya"
                    }
                  ]
                },
                "description": "Send one IoT SIM's traffic through one of your connectors, or through none (connector null).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"connector\": \"acme-ingest\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_sim_connector\",\n  \"sim_id\": \"sim_7k2mqqxw4hd3nvbc5rtfz6ya\",\n  \"connector\": \"acme-ingest\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "The account's IoT cloud connectors, and the connector types on offer (types)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/connectors",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "connectors"
              ]
            },
            "description": "The account's IoT cloud connectors, and the connector types on offer (types)."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/connectors",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "connectors"
                  ]
                },
                "description": "The account's IoT cloud connectors, and the connector types on offer (types)."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"iot_connector\",\n      \"name\": \"acme-ingest\",\n      \"type\": \"https\",\n      \"settings\": {\n        \"url\": \"https://ingest.example.com/iot\"\n      },\n      \"secrets\": {},\n      \"passthrough\": [\n        {\n          \"protocol\": \"tcp\",\n          \"ip\": \"203.0.113.10\",\n          \"port\": 8883\n        }\n      ],\n      \"sim_count\": 12\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null,\n  \"types\": [\n    \"https\",\n    \"tls\",\n    \"azure_iot_hub\",\n    \"aws_iot_core\"\n  ]\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Create a cloud connector: device traffic delivered to your HTTPS endpoint, TLS server or Azure IoT Hub, with TLS added in the network",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/connectors",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "connectors"
              ]
            },
            "description": "Create a cloud connector: device traffic delivered to your HTTPS endpoint, TLS server or Azure IoT Hub, with TLS added in the network.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"acme-ingest\",\n  \"type\": \"https\",\n  \"settings\": {\n    \"url\": \"https://ingest.example.com/iot\"\n  },\n  \"passthrough\": [\n    {\n      \"protocol\": \"tcp\",\n      \"ip\": \"203.0.113.10\",\n      \"port\": 8883\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/connectors",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "connectors"
                  ]
                },
                "description": "Create a cloud connector: device traffic delivered to your HTTPS endpoint, TLS server or Azure IoT Hub, with TLS added in the network.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"acme-ingest\",\n  \"type\": \"https\",\n  \"settings\": {\n    \"url\": \"https://ingest.example.com/iot\"\n  },\n  \"passthrough\": [\n    {\n      \"protocol\": \"tcp\",\n      \"ip\": \"203.0.113.10\",\n      \"port\": 8883\n    }\n  ]\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_connector\",\n  \"name\": \"acme-ingest\",\n  \"type\": \"https\",\n  \"settings\": {\n    \"url\": \"https://ingest.example.com/iot\"\n  },\n  \"secrets\": {},\n  \"passthrough\": [\n    {\n      \"protocol\": \"tcp\",\n      \"ip\": \"203.0.113.10\",\n      \"port\": 8883\n    }\n  ],\n  \"sim_count\": 0\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One cloud connector",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/iot/connectors/:name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "connectors",
                ":name"
              ],
              "variable": [
                {
                  "key": "name",
                  "value": "acme-ingest"
                }
              ]
            },
            "description": "One cloud connector."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/iot/connectors/:name",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "connectors",
                    ":name"
                  ],
                  "variable": [
                    {
                      "key": "name",
                      "value": "acme-ingest"
                    }
                  ]
                },
                "description": "One cloud connector."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_connector\",\n  \"name\": \"acme-ingest\",\n  \"type\": \"https\",\n  \"settings\": {\n    \"url\": \"https://ingest.example.com/iot\"\n  },\n  \"secrets\": {},\n  \"passthrough\": [\n    {\n      \"protocol\": \"tcp\",\n      \"ip\": \"203.0.113.10\",\n      \"port\": 8883\n    }\n  ],\n  \"sim_count\": 12\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Change a connector's settings, replace a secret or set its passthrough rules. A secret left out is kept. The type and name cannot change",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/connectors/:name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "connectors",
                ":name"
              ],
              "variable": [
                {
                  "key": "name",
                  "value": "acme-ingest"
                }
              ]
            },
            "description": "Change a connector's settings, replace a secret or set its passthrough rules. A secret left out is kept. The type and name cannot change.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"settings\": {\n    \"url\": \"https://ingest2.example.com/iot\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/connectors/:name",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "connectors",
                    ":name"
                  ],
                  "variable": [
                    {
                      "key": "name",
                      "value": "acme-ingest"
                    }
                  ]
                },
                "description": "Change a connector's settings, replace a secret or set its passthrough rules. A secret left out is kept. The type and name cannot change.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"settings\": {\n    \"url\": \"https://ingest2.example.com/iot\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_connector\",\n  \"name\": \"acme-ingest\",\n  \"type\": \"https\",\n  \"settings\": {\n    \"url\": \"https://ingest2.example.com/iot\"\n  },\n  \"secrets\": {},\n  \"passthrough\": [\n    {\n      \"protocol\": \"tcp\",\n      \"ip\": \"203.0.113.10\",\n      \"port\": 8883\n    }\n  ],\n  \"sim_count\": 12\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Delete a connector. Refused (409 state_conflict) while any SIM still uses it",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/connectors/:name",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "connectors",
                ":name"
              ],
              "variable": [
                {
                  "key": "name",
                  "value": "acme-ingest"
                }
              ]
            },
            "description": "Delete a connector. Refused (409 state_conflict) while any SIM still uses it."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/connectors/:name",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "connectors",
                    ":name"
                  ],
                  "variable": [
                    {
                      "key": "name",
                      "value": "acme-ingest"
                    }
                  ]
                },
                "description": "Delete a connector. Refused (409 state_conflict) while any SIM still uses it."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_connector\",\n  \"name\": \"acme-ingest\",\n  \"deleted\": true\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Test a connector: an HTTPS connector gets a labelled test POST from our platform; every type shows its recent delivery errors from the network",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/iot/connectors/:name/test",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "iot",
                "connectors",
                ":name",
                "test"
              ],
              "variable": [
                {
                  "key": "name",
                  "value": "acme-ingest"
                }
              ]
            },
            "description": "Test a connector: an HTTPS connector gets a labelled test POST from our platform; every type shows its recent delivery errors from the network."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/iot/connectors/:name/test",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "iot",
                    "connectors",
                    ":name",
                    "test"
                  ],
                  "variable": [
                    {
                      "key": "name",
                      "value": "acme-ingest"
                    }
                  ]
                },
                "description": "Test a connector: an HTTPS connector gets a labelled test POST from our platform; every type shows its recent delivery errors from the network."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"iot_connector_test\",\n  \"name\": \"acme-ingest\",\n  \"delivered\": true,\n  \"status\": 200,\n  \"detail\": \"Test message delivered.\",\n  \"recent_errors\": []\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "Numbers",
      "item": [
        {
          "name": "Phone numbers and their routing",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/numbers",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "numbers"
              ]
            },
            "description": "Phone numbers and their routing."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/numbers",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "numbers"
                  ]
                },
                "description": "Phone numbers and their routing."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"number\",\n      \"id\": \"num_q4zr7mxkp2wd6hnc3tbvfy5a\",\n      \"phone_number\": \"+442079460123\",\n      \"holder_name\": \"Acme Logistics Ltd\",\n      \"status\": \"active\",\n      \"provisioned_at\": \"2026-10-05T10:00:00Z\",\n      \"routing\": {\n        \"mode\": \"forward\",\n        \"forward_to\": \"+447700900456\"\n      }\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One number",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/numbers/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "numbers",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "num_q4zr7mxkp2wd6hnc3tbvfy5a"
                }
              ]
            },
            "description": "One number."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/numbers/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "numbers",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "num_q4zr7mxkp2wd6hnc3tbvfy5a"
                    }
                  ]
                },
                "description": "One number."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"number\",\n  \"id\": \"num_q4zr7mxkp2wd6hnc3tbvfy5a\",\n  \"phone_number\": \"+442079460123\",\n  \"holder_name\": \"Acme Logistics Ltd\",\n  \"status\": \"active\",\n  \"provisioned_at\": \"2026-10-05T10:00:00Z\",\n  \"routing\": {\n    \"mode\": \"forward\",\n    \"forward_to\": \"+447700900456\"\n  }\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Change a number's routing: ring the app, or forward to another number",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/numbers/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "numbers",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "num_q4zr7mxkp2wd6hnc3tbvfy5a"
                }
              ]
            },
            "description": "Change a number's routing: ring the app, or forward to another number.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"routing\": {\n    \"mode\": \"forward\",\n    \"forward_to\": \"+447700900456\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/numbers/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "numbers",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "num_q4zr7mxkp2wd6hnc3tbvfy5a"
                    }
                  ]
                },
                "description": "Change a number's routing: ring the app, or forward to another number.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"routing\": {\n    \"mode\": \"forward\",\n    \"forward_to\": \"+447700900456\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"number_routing\",\n  \"number_id\": \"num_q4zr7mxkp2wd6hnc3tbvfy5a\",\n  \"mode\": \"forward\",\n  \"forward_to\": \"+447700900456\",\n  \"state\": \"active\",\n  \"note\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Calls and SMS for a time range",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/numbers/:id/usage?from=2026-10-01T00%3A00%3A00Z&to=2026-10-28T00%3A00%3A00Z&step=1d",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "numbers",
                ":id",
                "usage"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "2026-10-01T00:00:00Z"
                },
                {
                  "key": "to",
                  "value": "2026-10-28T00:00:00Z"
                },
                {
                  "key": "step",
                  "value": "1d"
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "num_q4zr7mxkp2wd6hnc3tbvfy5a"
                }
              ]
            },
            "description": "Calls and SMS for a time range."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/numbers/:id/usage?from=2026-10-01T00%3A00%3A00Z&to=2026-10-28T00%3A00%3A00Z&step=1d",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "numbers",
                    ":id",
                    "usage"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-10-01T00:00:00Z"
                    },
                    {
                      "key": "to",
                      "value": "2026-10-28T00:00:00Z"
                    },
                    {
                      "key": "step",
                      "value": "1d"
                    }
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "num_q4zr7mxkp2wd6hnc3tbvfy5a"
                    }
                  ]
                },
                "description": "Calls and SMS for a time range."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"number_usage\",\n  \"number_id\": \"num_q4zr7mxkp2wd6hnc3tbvfy5a\",\n  \"range\": {\n    \"from\": \"2026-10-01T00:00:00Z\",\n    \"to\": \"2026-10-28T00:00:00Z\",\n    \"step\": \"1d\",\n    \"timezone\": \"Europe/London\"\n  },\n  \"totals\": {\n    \"inbound_calls\": 96,\n    \"outbound_calls\": 41,\n    \"answered_calls\": 118,\n    \"minutes\": 402.5,\n    \"sms\": 0\n  },\n  \"previous\": {\n    \"inbound_calls\": 88,\n    \"outbound_calls\": 37,\n    \"answered_calls\": 109,\n    \"minutes\": 371,\n    \"sms\": 0\n  },\n  \"series\": [\n    {\n      \"t\": \"2026-10-26T00:00:00Z\",\n      \"calls\": 6,\n      \"sms\": 0\n    },\n    {\n      \"t\": \"2026-10-27T00:00:00Z\",\n      \"calls\": 9,\n      \"sms\": 0\n    }\n  ]\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Numbers you can order in a country, with their prepaid price in the currency you choose",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/number_offers?country=GB&category=landline",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "number_offers"
              ],
              "query": [
                {
                  "key": "country",
                  "value": "GB"
                },
                {
                  "key": "category",
                  "value": "landline"
                }
              ]
            },
            "description": "Numbers you can order in a country, with their prepaid price in the currency you choose."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/number_offers?country=GB&category=landline",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "number_offers"
                  ],
                  "query": [
                    {
                      "key": "country",
                      "value": "GB"
                    },
                    {
                      "key": "category",
                      "value": "landline"
                    }
                  ]
                },
                "description": "Numbers you can order in a country, with their prepaid price in the currency you choose."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"number_offer\",\n      \"id\": \"nof_m3xk7q2zrw4pdn6hc5tbvfya\",\n      \"country\": \"GB\",\n      \"prefix\": \"4420\",\n      \"area_name\": \"London\",\n      \"category\": \"landline\",\n      \"channels_included\": 2,\n      \"monthly_price\": {\n        \"amount\": 150,\n        \"currency\": \"USD\"\n      },\n      \"setup_price\": {\n        \"amount\": 0,\n        \"currency\": \"USD\"\n      },\n      \"first_payment\": {\n        \"amount\": 150,\n        \"currency\": \"USD\"\n      },\n      \"data_as_of\": \"2026-10-28T06:00:00Z\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Order a number. Prepaid from your account balance",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/number_orders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "number_orders"
              ]
            },
            "description": "Order a number. Prepaid from your account balance.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"offer_id\": \"nof_m3xk7q2zrw4pdn6hc5tbvfya\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/number_orders",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "number_orders"
                  ]
                },
                "description": "Order a number. Prepaid from your account balance.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"offer_id\": \"nof_m3xk7q2zrw4pdn6hc5tbvfya\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"number_order\",\n  \"id\": \"nord_p6wz2kq7mx4rd3nh5cbtvfya\",\n  \"status\": \"completed\",\n  \"offer_id\": \"nof_m3xk7q2zrw4pdn6hc5tbvfya\",\n  \"phone_number\": \"+442079460188\",\n  \"number_id\": \"num_r5kx2wq7mz4pd3nh6cbtvfya\",\n  \"charged\": {\n    \"amount\": 150,\n    \"currency\": \"USD\"\n  },\n  \"balance_after\": {\n    \"amount\": 4850,\n    \"currency\": \"USD\"\n  },\n  \"created_at\": \"2026-10-28T09:30:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Requests to transfer numbers in",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/port_requests",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "port_requests"
              ]
            },
            "description": "Requests to transfer numbers in."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/port_requests",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "port_requests"
                  ]
                },
                "description": "Requests to transfer numbers in."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"port_request\",\n      \"id\": \"port_4F9K2A\",\n      \"numbers\": [\n        \"+442079460188\"\n      ],\n      \"current_provider\": \"Previous provider plc\",\n      \"account_reference\": \"ACC-558120\",\n      \"authorised_name\": \"Jordan Lee\",\n      \"status\": \"accepted\",\n      \"transfer_date\": \"2026-10-30\",\n      \"action_needed\": null,\n      \"history\": [\n        {\n          \"at\": \"2026-10-20T09:00:00Z\",\n          \"status\": \"submitted\",\n          \"note\": null\n        },\n        {\n          \"at\": \"2026-10-23T14:12:00Z\",\n          \"status\": \"accepted\",\n          \"note\": \"Transfer date confirmed.\"\n        }\n      ],\n      \"created_at\": \"2026-10-20T09:00:00Z\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Ask to transfer numbers to VoicePro from another provider",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/port_requests",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "port_requests"
              ]
            },
            "description": "Ask to transfer numbers to VoicePro from another provider.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"numbers\": [\n    \"+442079460188\"\n  ],\n  \"current_provider\": \"Previous provider plc\",\n  \"account_reference\": \"ACC-558120\",\n  \"authorised_name\": \"Jordan Lee\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/port_requests",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "port_requests"
                  ]
                },
                "description": "Ask to transfer numbers to VoicePro from another provider.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"numbers\": [\n    \"+442079460188\"\n  ],\n  \"current_provider\": \"Previous provider plc\",\n  \"account_reference\": \"ACC-558120\",\n  \"authorised_name\": \"Jordan Lee\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"port_request\",\n  \"id\": \"port_4F9K2A\",\n  \"numbers\": [\n    \"+442079460188\"\n  ],\n  \"current_provider\": \"Previous provider plc\",\n  \"account_reference\": \"ACC-558120\",\n  \"authorised_name\": \"Jordan Lee\",\n  \"status\": \"submitted\",\n  \"transfer_date\": null,\n  \"action_needed\": null,\n  \"history\": [\n    {\n      \"at\": \"2026-10-20T09:00:00Z\",\n      \"status\": \"submitted\",\n      \"note\": null\n    }\n  ],\n  \"created_at\": \"2026-10-20T09:00:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One transfer request with its history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/port_requests/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "port_requests",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "port_4F9K2A"
                }
              ]
            },
            "description": "One transfer request with its history."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/port_requests/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "port_requests",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "port_4F9K2A"
                    }
                  ]
                },
                "description": "One transfer request with its history."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"port_request\",\n  \"id\": \"port_4F9K2A\",\n  \"numbers\": [\n    \"+442079460188\"\n  ],\n  \"current_provider\": \"Previous provider plc\",\n  \"account_reference\": \"ACC-558120\",\n  \"authorised_name\": \"Jordan Lee\",\n  \"status\": \"accepted\",\n  \"transfer_date\": \"2026-10-30\",\n  \"action_needed\": null,\n  \"history\": [\n    {\n      \"at\": \"2026-10-20T09:00:00Z\",\n      \"status\": \"submitted\",\n      \"note\": null\n    },\n    {\n      \"at\": \"2026-10-23T14:12:00Z\",\n      \"status\": \"accepted\",\n      \"note\": \"Transfer date confirmed.\"\n    }\n  ],\n  \"created_at\": \"2026-10-20T09:00:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "What you must supply, per country and number type, before a number goes live: personal, business and address documents, and notes. Leave out country for every country",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/number_requirements?country=DE",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "number_requirements"
              ],
              "query": [
                {
                  "key": "country",
                  "value": "DE"
                }
              ]
            },
            "description": "What you must supply, per country and number type, before a number goes live: personal, business and address documents, and notes. Leave out country for every country."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/number_requirements?country=DE",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "number_requirements"
                  ],
                  "query": [
                    {
                      "key": "country",
                      "value": "DE"
                    }
                  ]
                },
                "description": "What you must supply, per country and number type, before a number goes live: personal, business and address documents, and notes. Leave out country for every country."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"number_requirement\",\n      \"country\": \"DE\",\n      \"country_name\": \"Germany\",\n      \"region\": \"Europe\",\n      \"documentation_required\": true,\n      \"number_types\": [\n        {\n          \"category\": \"landline\",\n          \"personal\": [\n            \"Name, last name\",\n            \"Contact phone number\",\n            \"German passport or ID copy\"\n          ],\n          \"business\": [\n            \"Name, last name\",\n            \"Contact phone number\",\n            \"Company name\",\n            \"German company incorporation certificate copy\"\n          ],\n          \"address\": [\n            \"Address matching: the DID area code, address in the certificate/ID (street, building number, postal code, city and country)\",\n            \"A copy of a utility bill (less than 6 months old)\"\n          ],\n          \"notes\": [\n            \"We reserve the right in our sole discretion to request additional information at any stage of the registration process.\"\n          ]\n        },\n        {\n          \"category\": \"tollfree\",\n          \"personal\": [\n            \"Name, last name\",\n            \"Contact phone number\",\n            \"Proof of allocation (Zuteilungsbescheid) from the German national regulator (BNetzA)\"\n          ],\n          \"business\": [\n            \"Name, last name\",\n            \"Contact phone number\",\n            \"Company name\",\n            \"Proof of allocation (Zuteilungsbescheid) from the German national regulator (BNetzA)\"\n          ],\n          \"address\": [\n            \"Address in Germany (street, building number, postal code, city and country)\"\n          ],\n          \"notes\": [\n            \"We reserve the right in our sole discretion to request additional information at any stage of the registration process.\"\n          ]\n        }\n      ]\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Cancel a number: no further charges; it keeps working to the end of the month already paid, then is released",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/numbers/:id/cancel",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "numbers",
                ":id",
                "cancel"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "num_8d2f5a1c"
                }
              ]
            },
            "description": "Cancel a number: no further charges; it keeps working to the end of the month already paid, then is released."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/numbers/:id/cancel",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "numbers",
                    ":id",
                    "cancel"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "num_8d2f5a1c"
                    }
                  ]
                },
                "description": "Cancel a number: no further charges; it keeps working to the end of the month already paid, then is released."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"number_cancellation\",\n  \"number_id\": \"num_8d2f5a1c\",\n  \"phone_number\": \"+442079460123\",\n  \"ends_at\": \"2026-11-14T10:00:00.000Z\",\n  \"further_charges\": false\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "Voice trunk",
      "item": [
        {
          "name": "Trunk settings. 404 service_not_enabled without a voice trunk",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/trunks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "trunks"
              ]
            },
            "description": "Trunk settings. 404 service_not_enabled without a voice trunk."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/trunks",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "trunks"
                  ]
                },
                "description": "Trunk settings. 404 service_not_enabled without a voice trunk."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"trunk\",\n      \"name\": \"acme-main\",\n      \"active\": true,\n      \"call_limit\": 30,\n      \"cps_limit\": 5,\n      \"max_call_seconds\": 7200,\n      \"allowed_ips\": [\n        \"203.0.113.20\"\n      ],\n      \"data_as_of\": \"2026-10-28T08:55:00Z\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Current and scheduled rates",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/rates?destination=France",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "rates"
              ],
              "query": [
                {
                  "key": "destination",
                  "value": "France"
                }
              ]
            },
            "description": "Current and scheduled rates."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/rates?destination=France",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "rates"
                  ],
                  "query": [
                    {
                      "key": "destination",
                      "value": "France"
                    }
                  ]
                },
                "description": "Current and scheduled rates."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"rate\",\n      \"destination\": \"France - Fixed\",\n      \"rate\": {\n        \"amount\": \"0.0060\",\n        \"currency\": \"USD\"\n      },\n      \"billing_increment\": \"60/60\",\n      \"effective_from\": \"2026-10-01T00:00:00Z\",\n      \"effective_until\": null\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Call records, newest first, for a range of at most 92 days (default: the last 24 hours)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/calls?result=answered",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "calls"
              ],
              "query": [
                {
                  "key": "result",
                  "value": "answered"
                }
              ]
            },
            "description": "Call records, newest first, for a range of at most 92 days (default: the last 24 hours)."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/calls?result=answered",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "calls"
                  ],
                  "query": [
                    {
                      "key": "result",
                      "value": "answered"
                    }
                  ]
                },
                "description": "Call records, newest first, for a range of at most 92 days (default: the last 24 hours)."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"call\",\n      \"id\": \"call_mfrgg5dbgaztemrqgu\",\n      \"started_at\": \"2026-10-27T14:03:22Z\",\n      \"from\": \"+442079460123\",\n      \"to\": \"+33155550123\",\n      \"country\": \"FR\",\n      \"seconds\": 184,\n      \"result\": \"answered\",\n      \"charge\": {\n        \"amount\": \"0.0184\",\n        \"currency\": \"USD\"\n      },\n      \"data_as_of\": \"2026-10-28T08:55:00Z\",\n      \"sip_call_id\": \"a1b2c3d4e5@203.0.113.20\"\n    }\n  ],\n  \"has_more\": true,\n  \"next_cursor\": \"eyJrIjoiMjAyNi0xMC0yN1QxNDowMzoyMloifQ\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One call record by id, within the last 92 days",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/calls/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "calls",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "call_mfrgg5dbgaztemrqgu"
                }
              ]
            },
            "description": "One call record by id, within the last 92 days."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/calls/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "calls",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "call_mfrgg5dbgaztemrqgu"
                    }
                  ]
                },
                "description": "One call record by id, within the last 92 days."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"call\",\n  \"id\": \"call_mfrgg5dbgaztemrqgu\",\n  \"started_at\": \"2026-10-27T14:03:22Z\",\n  \"from\": \"+442079460123\",\n  \"to\": \"+33155550123\",\n  \"country\": \"FR\",\n  \"seconds\": 184,\n  \"result\": \"answered\",\n  \"charge\": {\n    \"amount\": \"0.0184\",\n    \"currency\": \"USD\"\n  },\n  \"data_as_of\": \"2026-10-28T08:55:00Z\",\n  \"sip_call_id\": \"a1b2c3d4e5@203.0.113.20\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Totals and series for a time range",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/traffic?from=2026-10-01T00%3A00%3A00Z&to=2026-10-28T00%3A00%3A00Z&step=1d",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "traffic"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "2026-10-01T00:00:00Z"
                },
                {
                  "key": "to",
                  "value": "2026-10-28T00:00:00Z"
                },
                {
                  "key": "step",
                  "value": "1d"
                }
              ]
            },
            "description": "Totals and series for a time range."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/traffic?from=2026-10-01T00%3A00%3A00Z&to=2026-10-28T00%3A00%3A00Z&step=1d",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "traffic"
                  ],
                  "query": [
                    {
                      "key": "from",
                      "value": "2026-10-01T00:00:00Z"
                    },
                    {
                      "key": "to",
                      "value": "2026-10-28T00:00:00Z"
                    },
                    {
                      "key": "step",
                      "value": "1d"
                    }
                  ]
                },
                "description": "Totals and series for a time range."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"traffic\",\n  \"range\": {\n    \"from\": \"2026-10-01T00:00:00Z\",\n    \"to\": \"2026-10-28T00:00:00Z\",\n    \"step\": \"1d\",\n    \"timezone\": \"Europe/London\"\n  },\n  \"totals\": {\n    \"calls\": 1240,\n    \"answered\": 868,\n    \"asr\": 0.7,\n    \"acd_seconds\": 142.5,\n    \"minutes\": 2061.5,\n    \"spend\": {\n      \"amount\": \"103.08\",\n      \"currency\": \"USD\"\n    },\n    \"pdd_seconds\": 2.1,\n    \"sdr\": 0.012\n  },\n  \"previous\": {\n    \"calls\": 1105,\n    \"answered\": 762,\n    \"asr\": 0.69,\n    \"acd_seconds\": 142.5,\n    \"minutes\": 1810,\n    \"spend\": {\n      \"amount\": \"90.50\",\n      \"currency\": \"USD\"\n    },\n    \"pdd_seconds\": 2.1,\n    \"sdr\": 0.012\n  },\n  \"series\": [\n    {\n      \"t\": \"2026-10-27T00:00:00Z\",\n      \"calls\": 52,\n      \"answered\": 37,\n      \"minutes\": 88.5,\n      \"spend\": {\n        \"amount\": \"4.43\",\n        \"currency\": \"USD\"\n      }\n    }\n  ],\n  \"data_as_of\": \"2026-10-28T08:55:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Traffic by destination country for a time range",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/traffic/destinations",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "traffic",
                "destinations"
              ]
            },
            "description": "Traffic by destination country for a time range."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/traffic/destinations",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "traffic",
                    "destinations"
                  ]
                },
                "description": "Traffic by destination country for a time range."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"traffic_destination\",\n      \"country\": \"FR\",\n      \"calls\": 410,\n      \"answered\": 295,\n      \"asr\": 0.72,\n      \"minutes\": 701.2,\n      \"spend\": {\n        \"amount\": \"35.06\",\n        \"currency\": \"USD\"\n      }\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Channels in use per trunk, now and at peak, against each trunk's limit, with a series",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/trunks/channels?range=24h",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "trunks",
                "channels"
              ],
              "query": [
                {
                  "key": "range",
                  "value": "24h"
                }
              ]
            },
            "description": "Channels in use per trunk, now and at peak, against each trunk's limit, with a series."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/trunks/channels?range=24h",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "trunks",
                    "channels"
                  ],
                  "query": [
                    {
                      "key": "range",
                      "value": "24h"
                    }
                  ]
                },
                "description": "Channels in use per trunk, now and at peak, against each trunk's limit, with a series."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"trunk_channels\",\n  \"range\": \"24h\",\n  \"bucket_seconds\": 900,\n  \"history_through\": \"2026-10-28T21:45:00Z\",\n  \"unavailable\": [],\n  \"trunks\": [\n    {\n      \"name\": \"ACME_SIP_GW1\",\n      \"limit\": 120,\n      \"now\": 38,\n      \"now_at\": \"2026-10-28T21:59:30Z\",\n      \"peak\": 96,\n      \"peak_at\": \"2026-10-28T18:15:00Z\",\n      \"series\": [\n        {\n          \"at\": \"2026-10-28T21:15:00Z\",\n          \"channels\": 41\n        },\n        {\n          \"at\": \"2026-10-28T21:30:00Z\",\n          \"channels\": 36\n        }\n      ]\n    }\n  ],\n  \"data_as_of\": \"2026-10-28T21:45:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Fraud incidents and losses our fraud engine raised on this account's traffic, against the previous period",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/fraud/incidents?window=7d",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "fraud",
                "incidents"
              ],
              "query": [
                {
                  "key": "window",
                  "value": "7d"
                }
              ]
            },
            "description": "Fraud incidents and losses our fraud engine raised on this account's traffic, against the previous period."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/fraud/incidents?window=7d",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "fraud",
                    "incidents"
                  ],
                  "query": [
                    {
                      "key": "window",
                      "value": "7d"
                    }
                  ]
                },
                "description": "Fraud incidents and losses our fraud engine raised on this account's traffic, against the previous period."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"fraud_incidents\",\n  \"window\": \"7d\",\n  \"totals\": {\n    \"incidents\": 3,\n    \"incidents_previous_period\": 5,\n    \"ranges\": 2,\n    \"territories\": 2,\n    \"origins\": 1,\n    \"loss\": {\n      \"amount\": \"4.12\",\n      \"currency\": \"USD\"\n    }\n  },\n  \"by_signal\": [\n    {\n      \"signal\": \"irsf\",\n      \"label\": \"IRSF / high-risk destination\",\n      \"incidents\": 2\n    },\n    {\n      \"signal\": \"wangiri\",\n      \"label\": \"Wangiri / short-call abuse\",\n      \"incidents\": 1\n    }\n  ],\n  \"unavailable\": [],\n  \"data_as_of\": \"2026-10-28T21:40:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "Activity",
      "item": [
        {
          "name": "Calls, SMS and data across SIMs, numbers and the voice trunk, newest first. Each source gives at most 5000 records per window; has_more then pages into older records. Voice trunk records cover at most the last 92 days",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/activity?kind=call",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "activity"
              ],
              "query": [
                {
                  "key": "kind",
                  "value": "call"
                }
              ]
            },
            "description": "Calls, SMS and data across SIMs, numbers and the voice trunk, newest first. Each source gives at most 5000 records per window; has_more then pages into older records. Voice trunk records cover at most the last 92 days."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/activity?kind=call",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "activity"
                  ],
                  "query": [
                    {
                      "key": "kind",
                      "value": "call"
                    }
                  ]
                },
                "description": "Calls, SMS and data across SIMs, numbers and the voice trunk, newest first. Each source gives at most 5000 records per window; has_more then pages into older records. Voice trunk records cover at most the last 92 days."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"activity\",\n      \"id\": \"act_5mq2k7xw\",\n      \"at\": \"2026-10-27T14:03:22Z\",\n      \"kind\": \"call\",\n      \"direction\": \"out\",\n      \"via\": {\n        \"type\": \"sim\",\n        \"id\": \"sim_K7M2Q9\",\n        \"label\": \"Warehouse van 3\"\n      },\n      \"from\": \"+447700900123\",\n      \"to\": \"+442079460555\",\n      \"country\": \"GB\",\n      \"roaming_country\": null,\n      \"seconds\": 95,\n      \"bytes\": null,\n      \"result\": \"answered\",\n      \"ok\": true,\n      \"charge\": null\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "Billing",
      "item": [
        {
          "name": "VoicePro invoices, newest first",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices?status=paid",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices"
              ],
              "query": [
                {
                  "key": "status",
                  "value": "paid"
                }
              ]
            },
            "description": "VoicePro invoices, newest first."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/invoices?status=paid",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "invoices"
                  ],
                  "query": [
                    {
                      "key": "status",
                      "value": "paid"
                    }
                  ]
                },
                "description": "VoicePro invoices, newest first."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"invoice\",\n      \"id\": \"inv_2610AB12\",\n      \"period\": \"2026-09\",\n      \"status\": \"paid\",\n      \"subtotal\": {\n        \"amount\": 42000,\n        \"currency\": \"GBP\"\n      },\n      \"vat\": {\n        \"amount\": 8400,\n        \"currency\": \"GBP\"\n      },\n      \"total\": {\n        \"amount\": 50400,\n        \"currency\": \"GBP\"\n      },\n      \"issued_at\": \"2026-10-01T06:00:00Z\",\n      \"due_at\": \"2026-10-15T23:59:59Z\",\n      \"paid_at\": \"2026-10-08T10:21:00Z\",\n      \"line_count\": 2\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One invoice with its lines",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "inv_2610AB12"
                }
              ]
            },
            "description": "One invoice with its lines."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/invoices/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "invoices",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "inv_2610AB12"
                    }
                  ]
                },
                "description": "One invoice with its lines."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"invoice\",\n  \"id\": \"inv_2610AB12\",\n  \"period\": \"2026-09\",\n  \"status\": \"paid\",\n  \"subtotal\": {\n    \"amount\": 42000,\n    \"currency\": \"GBP\"\n  },\n  \"vat\": {\n    \"amount\": 8400,\n    \"currency\": \"GBP\"\n  },\n  \"total\": {\n    \"amount\": 50400,\n    \"currency\": \"GBP\"\n  },\n  \"issued_at\": \"2026-10-01T06:00:00Z\",\n  \"due_at\": \"2026-10-15T23:59:59Z\",\n  \"paid_at\": \"2026-10-08T10:21:00Z\",\n  \"line_count\": 2,\n  \"lines\": [\n    {\n      \"description\": \"Business+ Essentials, 12 SIMs\",\n      \"quantity\": 12,\n      \"unit_price\": {\n        \"amount\": 3000,\n        \"currency\": \"GBP\"\n      },\n      \"total\": {\n        \"amount\": 36000,\n        \"currency\": \"GBP\"\n      },\n      \"kind\": \"plan\"\n    },\n    {\n      \"description\": \"EU Roaming add-on\",\n      \"quantity\": 12,\n      \"unit_price\": {\n        \"amount\": 500,\n        \"currency\": \"GBP\"\n      },\n      \"total\": {\n        \"amount\": 6000,\n        \"currency\": \"GBP\"\n      },\n      \"kind\": \"add_on\"\n    }\n  ],\n  \"notes\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "The invoice as a VAT invoice PDF",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/invoices/:id/pdf",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices",
                ":id",
                "pdf"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "inv_2610AB12"
                }
              ]
            },
            "description": "The invoice as a VAT invoice PDF."
          },
          "response": []
        },
        {
          "name": "Wholesale voice invoices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/wholesale/invoices",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "wholesale",
                "invoices"
              ]
            },
            "description": "Wholesale voice invoices."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wholesale/invoices",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wholesale",
                    "invoices"
                  ]
                },
                "description": "Wholesale voice invoices."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"wholesale_invoice\",\n      \"number\": \"W-2026-0931\",\n      \"period_start\": \"2026-09-01\",\n      \"period_end\": \"2026-09-30\",\n      \"issued_at\": \"2026-10-01T06:00:00Z\",\n      \"due_at\": \"2026-10-15T23:59:59Z\",\n      \"total\": {\n        \"amount\": 9050,\n        \"currency\": \"USD\"\n      },\n      \"status\": \"paid\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Payments received for wholesale voice",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/wholesale/payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "wholesale",
                "payments"
              ]
            },
            "description": "Payments received for wholesale voice."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/wholesale/payments",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "wholesale",
                    "payments"
                  ]
                },
                "description": "Payments received for wholesale voice."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"wholesale_payment\",\n      \"date\": \"2026-10-08\",\n      \"amount\": {\n        \"amount\": 9050,\n        \"currency\": \"USD\"\n      },\n      \"reference\": \"ACME-OCT-01\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Wholesale balance and prepaid dip balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/balance",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "balance"
              ]
            },
            "description": "Wholesale balance and prepaid dip balance."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/balance",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "balance"
                  ]
                },
                "description": "Wholesale balance and prepaid dip balance."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"balance\",\n  \"wholesale\": [\n    {\n      \"amount\": 4850,\n      \"currency\": \"USD\"\n    }\n  ],\n  \"prepaid\": [\n    {\n      \"amount\": 2500,\n      \"currency\": \"GBP\"\n    },\n    {\n      \"amount\": 12000,\n      \"currency\": \"USD\"\n    }\n  ],\n  \"default_currency\": \"GBP\",\n  \"data_as_of\": \"2026-10-28T09:00:00Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "This month's spend by service, the projection and the spending limit",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/spend",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "spend"
              ]
            },
            "description": "This month's spend by service, the projection and the spending limit."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/spend",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "spend"
                  ]
                },
                "description": "This month's spend by service, the projection and the spending limit."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"spend\",\n  \"period\": \"2026-10\",\n  \"days_elapsed\": 27.4,\n  \"days_in_month\": 31,\n  \"lines\": [\n    {\n      \"service\": \"Mobile SIMs\",\n      \"kind\": \"fixed\",\n      \"month_to_date\": {\n        \"amount\": 42000,\n        \"currency\": \"GBP\"\n      },\n      \"today\": null,\n      \"projected\": {\n        \"amount\": 42000,\n        \"currency\": \"GBP\"\n      },\n      \"note\": null\n    },\n    {\n      \"service\": \"Voice trunk\",\n      \"kind\": \"usage\",\n      \"month_to_date\": {\n        \"amount\": 10308,\n        \"currency\": \"USD\"\n      },\n      \"today\": {\n        \"amount\": 443,\n        \"currency\": \"USD\"\n      },\n      \"projected\": {\n        \"amount\": 11660,\n        \"currency\": \"USD\"\n      },\n      \"note\": null\n    }\n  ],\n  \"totals\": [\n    {\n      \"month_to_date\": {\n        \"amount\": 42000,\n        \"currency\": \"GBP\"\n      },\n      \"projected\": {\n        \"amount\": 42000,\n        \"currency\": \"GBP\"\n      }\n    },\n    {\n      \"month_to_date\": {\n        \"amount\": 10308,\n        \"currency\": \"USD\"\n      },\n      \"projected\": {\n        \"amount\": 11660,\n        \"currency\": \"USD\"\n      }\n    }\n  ],\n  \"limit\": {\n    \"limit\": {\n      \"amount\": 250000,\n      \"currency\": \"GBP\"\n    },\n    \"used\": {\n      \"amount\": 42000,\n      \"currency\": \"GBP\"\n    },\n    \"projected\": {\n      \"amount\": 42000,\n      \"currency\": \"GBP\"\n    }\n  }\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "A secure payment link for an open invoice, to pay it or send it on",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/invoices/:id/payment_link",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "invoices",
                ":id",
                "payment_link"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "inv_2610AB12"
                }
              ]
            },
            "description": "A secure payment link for an open invoice, to pay it or send it on."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/invoices/:id/payment_link",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "invoices",
                    ":id",
                    "payment_link"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "inv_2610AB12"
                    }
                  ]
                },
                "description": "A secure payment link for an open invoice, to pay it or send it on."
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"invoice_payment_link\",\n  \"invoice_id\": \"inv_2610AB12\",\n  \"url\": \"https://pay.example.com/c/cs_example\",\n  \"amount\": {\n    \"amount\": 50400,\n    \"currency\": \"GBP\"\n  }\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "Dips",
      "item": [
        {
          "name": "Dip products you can buy, with live prices",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/dips/products",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dips",
                "products"
              ]
            },
            "description": "Dip products you can buy, with live prices."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/dips/products",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dips",
                    "products"
                  ]
                },
                "description": "Dip products you can buy, with live prices."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"dip_product\",\n      \"code\": \"nrv\",\n      \"name\": \"VPX-NRV\",\n      \"price\": {\n        \"amount\": \"0.0050\",\n        \"currency\": \"USD\"\n      }\n    },\n    {\n      \"object\": \"dip_product\",\n      \"code\": \"last_port\",\n      \"name\": \"Last Port\",\n      \"price\": {\n        \"amount\": \"0.0030\",\n        \"currency\": \"USD\"\n      }\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Past single dips, newest first: the most recent 200, each kept for 90 days",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/dips",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dips"
              ]
            },
            "description": "Past single dips, newest first: the most recent 200, each kept for 90 days."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/dips",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dips"
                  ]
                },
                "description": "Past single dips, newest first: the most recent 200, each kept for 90 days."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"dip\",\n      \"id\": \"dip_x7k2m9qwp4zr\",\n      \"number\": \"447700900123\",\n      \"country\": \"GB\",\n      \"products\": [\n        \"nrv\",\n        \"last_port\"\n      ],\n      \"risk\": \"low\",\n      \"score\": 12,\n      \"validity\": \"valid\",\n      \"network\": \"Mobile network GB\",\n      \"status\": \"active\",\n      \"created_at\": \"2026-10-27T16:45:10Z\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Dip one number: the chosen products, answered now",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/dips",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dips"
              ]
            },
            "description": "Dip one number: the chosen products, answered now.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"+447700900123\",\n  \"products\": [\n    \"nrv\",\n    \"last_port\"\n  ],\n  \"currency\": \"GBP\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/dips",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dips"
                  ]
                },
                "description": "Dip one number: the chosen products, answered now.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"number\": \"+447700900123\",\n  \"products\": [\n    \"nrv\",\n    \"last_port\"\n  ],\n  \"currency\": \"GBP\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"dip\",\n  \"id\": \"dip_x7k2m9qwp4zr\",\n  \"number\": \"447700900123\",\n  \"country\": \"GB\",\n  \"products\": [\n    \"nrv\",\n    \"last_port\"\n  ],\n  \"results\": {\n    \"nrv\": {\n      \"tn\": \"447700900123\",\n      \"cc\": \"GB\",\n      \"valid\": true,\n      \"source\": \"local\",\n      \"line_type\": \"mobile\",\n      \"range_holder\": \"Example Mobile Ltd\",\n      \"ms\": 12\n    },\n    \"last_port\": {\n      \"tn\": \"447700900123\",\n      \"valid\": \"Y\",\n      \"lastPorted\": \"00/00/0000\"\n    }\n  },\n  \"charge\": {\n    \"amount\": \"0.0080\",\n    \"currency\": \"USD\"\n  },\n  \"created_at\": \"2026-10-27T16:45:10Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One past dip",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/dips/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dips",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "dip_x7k2m9qwp4zr"
                }
              ]
            },
            "description": "One past dip."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/dips/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dips",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "dip_x7k2m9qwp4zr"
                    }
                  ]
                },
                "description": "One past dip."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"dip\",\n  \"id\": \"dip_x7k2m9qwp4zr\",\n  \"number\": \"447700900123\",\n  \"country\": \"GB\",\n  \"products\": [\n    \"nrv\",\n    \"last_port\"\n  ],\n  \"risk\": \"low\",\n  \"score\": 12,\n  \"validity\": \"valid\",\n  \"network\": \"Mobile network GB\",\n  \"status\": \"active\",\n  \"created_at\": \"2026-10-27T16:45:10Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Dips this month by product",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/dips/usage",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dips",
                "usage"
              ]
            },
            "description": "Dips this month by product."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/dips/usage",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dips",
                    "usage"
                  ]
                },
                "description": "Dips this month by product."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"dip_usage\",\n  \"month\": \"2026-10\",\n  \"total\": 1840,\n  \"by_product\": {\n    \"nrv\": 1500,\n    \"last_port\": 340\n  }\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Dip batches, newest first",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/dip_batches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dip_batches"
              ]
            },
            "description": "Dip batches, newest first."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/dip_batches",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dip_batches"
                  ]
                },
                "description": "Dip batches, newest first."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"dip_batch\",\n      \"id\": \"dipb_8KQ2M7\",\n      \"name\": \"October lead list\",\n      \"total\": 500,\n      \"done\": 500,\n      \"products\": [\n        \"nrv\"\n      ],\n      \"state\": \"done\",\n      \"created_at\": \"2026-10-26T09:00:00Z\",\n      \"finished_at\": \"2026-10-26T09:04:31Z\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Check a file of up to 20,000 numbers in the background",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/dip_batches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dip_batches"
              ]
            },
            "description": "Check a file of up to 20,000 numbers in the background.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"numbers\": [\n    \"+447700900001\",\n    \"+447700900002\"\n  ],\n  \"products\": [\n    \"nrv\"\n  ],\n  \"name\": \"October list\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/dip_batches",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dip_batches"
                  ]
                },
                "description": "Check a file of up to 20,000 numbers in the background.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"numbers\": [\n    \"+447700900001\",\n    \"+447700900002\"\n  ],\n  \"products\": [\n    \"nrv\"\n  ],\n  \"name\": \"October list\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"dip_batch\",\n  \"id\": \"dipb_8KQ2M7\",\n  \"name\": \"October list\",\n  \"total\": 2,\n  \"done\": 0,\n  \"products\": [\n    \"nrv\"\n  ],\n  \"state\": \"running\",\n  \"created_at\": \"2026-10-26T09:00:00Z\",\n  \"finished_at\": null,\n  \"charge\": {\n    \"amount\": \"0.0004\",\n    \"currency\": \"USD\"\n  }\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One batch with its progress",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/dip_batches/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dip_batches",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "dipb_8KQ2M7"
                }
              ]
            },
            "description": "One batch with its progress."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/dip_batches/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dip_batches",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "dipb_8KQ2M7"
                    }
                  ]
                },
                "description": "One batch with its progress."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"dip_batch\",\n  \"id\": \"dipb_8KQ2M7\",\n  \"name\": \"October lead list\",\n  \"total\": 500,\n  \"done\": 500,\n  \"products\": [\n    \"nrv\"\n  ],\n  \"state\": \"done\",\n  \"created_at\": \"2026-10-26T09:00:00Z\",\n  \"finished_at\": \"2026-10-26T09:04:31Z\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Batch results; 409 state_conflict while running unless partial=true. CSV with Accept: text/csv",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/dip_batches/:id/results",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "dip_batches",
                ":id",
                "results"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "dipb_8KQ2M7"
                }
              ]
            },
            "description": "Batch results; 409 state_conflict while running unless partial=true. CSV with Accept: text/csv."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/dip_batches/:id/results",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "dip_batches",
                    ":id",
                    "results"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "dipb_8KQ2M7"
                    }
                  ]
                },
                "description": "Batch results; 409 state_conflict while running unless partial=true. CSV with Accept: text/csv."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"dip_result\",\n      \"number\": \"447700900123\",\n      \"product\": \"nrv\",\n      \"result_code\": \"ok\",\n      \"result\": {\n        \"tn\": \"447700900123\",\n        \"cc\": \"GB\",\n        \"valid\": true,\n        \"source\": \"local\",\n        \"line_type\": \"mobile\",\n        \"range_holder\": \"Example Mobile Ltd\",\n        \"ms\": 12\n      }\n    }\n  ],\n  \"has_more\": true,\n  \"next_cursor\": \"eyJrIjoiNDQ3NzAwOTAwMTIzIn0\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Search the high-risk and premium-rate number ranges our network screens against. total and truncated say when a search matched more than one answer holds (500)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/risk_ranges?q=Albania",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "risk_ranges"
              ],
              "query": [
                {
                  "key": "q",
                  "value": "Albania"
                }
              ]
            },
            "description": "Search the high-risk and premium-rate number ranges our network screens against. total and truncated say when a search matched more than one answer holds (500)."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/risk_ranges?q=Albania",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "risk_ranges"
                  ],
                  "query": [
                    {
                      "key": "q",
                      "value": "Albania"
                    }
                  ]
                },
                "description": "Search the high-risk and premium-rate number ranges our network screens against. total and truncated say when a search matched more than one answer holds (500)."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"risk_range\",\n      \"prefix\": \"355900\",\n      \"label\": \"Albania (Republic of) - Shared Revenue Services (premium-rate only per national plan data)\",\n      \"kind\": \"premium_rate_international\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null,\n  \"total\": 1,\n  \"truncated\": false\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "The account's number watches, newest first",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/number_watches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "number_watches"
              ]
            },
            "description": "The account's number watches, newest first."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/number_watches",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "number_watches"
                  ]
                },
                "description": "The account's number watches, newest first."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"number_watch\",\n      \"id\": \"nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60\",\n      \"phone_number\": \"+447700900123\",\n      \"label\": \"Supplier hotline\",\n      \"products\": [\n        \"nrv\",\n        \"last_port\"\n      ],\n      \"created_at\": \"2026-10-29T09:12:44Z\",\n      \"last_checked_at\": \"2026-10-30T05:13:20Z\",\n      \"last_change_at\": null,\n      \"current\": {\n        \"validity\": \"valid\",\n        \"ported\": \"false\",\n        \"range_holder\": \"Example Mobile\"\n      },\n      \"currency\": \"GBP\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Watch a number: re-checked daily, with every change recorded and sent to your webhooks",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/number_watches",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "number_watches"
              ]
            },
            "description": "Watch a number: re-checked daily, with every change recorded and sent to your webhooks.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"number\": \"+447700900123\",\n  \"products\": [\n    \"nrv\",\n    \"last_port\"\n  ],\n  \"label\": \"Supplier hotline\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/number_watches",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "number_watches"
                  ]
                },
                "description": "Watch a number: re-checked daily, with every change recorded and sent to your webhooks.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"number\": \"+447700900123\",\n  \"products\": [\n    \"nrv\",\n    \"last_port\"\n  ],\n  \"label\": \"Supplier hotline\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"number_watch\",\n  \"id\": \"nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60\",\n  \"phone_number\": \"+447700900123\",\n  \"label\": \"Supplier hotline\",\n  \"products\": [\n    \"nrv\",\n    \"last_port\"\n  ],\n  \"created_at\": \"2026-10-29T09:12:44Z\",\n  \"last_checked_at\": null,\n  \"last_change_at\": null,\n  \"current\": null,\n  \"currency\": \"GBP\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One number watch, with the number's answer at the last check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/number_watches/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "number_watches",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60"
                }
              ]
            },
            "description": "One number watch, with the number's answer at the last check."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/number_watches/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "number_watches",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60"
                    }
                  ]
                },
                "description": "One number watch, with the number's answer at the last check."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"number_watch\",\n  \"id\": \"nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60\",\n  \"phone_number\": \"+447700900123\",\n  \"label\": \"Supplier hotline\",\n  \"products\": [\n    \"nrv\",\n    \"last_port\"\n  ],\n  \"created_at\": \"2026-10-29T09:12:44Z\",\n  \"last_checked_at\": \"2026-10-30T05:13:20Z\",\n  \"last_change_at\": null,\n  \"current\": {\n    \"validity\": \"valid\",\n    \"ported\": \"false\",\n    \"range_holder\": \"Example Mobile\"\n  },\n  \"currency\": \"GBP\"\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Stop watching a number. Its change history goes with it",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/number_watches/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "number_watches",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60"
                }
              ]
            },
            "description": "Stop watching a number. Its change history goes with it."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/number_watches/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "number_watches",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60"
                    }
                  ]
                },
                "description": "Stop watching a number. Its change history goes with it."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"number_watch\",\n  \"id\": \"nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60\",\n  \"deleted\": true\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "A watch's changes, newest first (the last 50)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/number_watches/:id/events",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "number_watches",
                ":id",
                "events"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60"
                }
              ]
            },
            "description": "A watch's changes, newest first (the last 50)."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/number_watches/:id/events",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "number_watches",
                    ":id",
                    "events"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60"
                    }
                  ]
                },
                "description": "A watch's changes, newest first (the last 50)."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"number_watch_event\",\n      \"watch_id\": \"nw_6f1c2a9e0b7d4c3e8a5f1b2c3d4e5f60\",\n      \"at\": \"2026-11-02T05:13:41Z\",\n      \"changes\": {\n        \"ported\": {\n          \"from\": \"false\",\n          \"to\": \"true\"\n        },\n        \"serving_network\": {\n          \"from\": null,\n          \"to\": \"Example Mobile 2\"\n        }\n      }\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    },
    {
      "name": "Webhooks",
      "item": [
        {
          "name": "The events you can subscribe a webhook to",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/webhook_events",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhook_events"
              ]
            },
            "description": "The events you can subscribe a webhook to."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/webhook_events",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "webhook_events"
                  ]
                },
                "description": "The events you can subscribe a webhook to."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"webhook_event\",\n      \"code\": \"invoice.issued\",\n      \"description\": \"A new invoice was issued\"\n    },\n    {\n      \"object\": \"webhook_event\",\n      \"code\": \"porting.updated\",\n      \"description\": \"A number transfer changed status\"\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Your account's webhooks, newest first. The signing secret is never shown here, only its last 4 characters",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/webhooks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks"
              ]
            },
            "description": "Your account's webhooks, newest first. The signing secret is never shown here, only its last 4 characters."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/webhooks",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "webhooks"
                  ]
                },
                "description": "Your account's webhooks, newest first. The signing secret is never shown here, only its last 4 characters."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"webhook\",\n      \"id\": \"wh_4c1e9a07\",\n      \"event\": \"invoice.issued\",\n      \"description\": \"A new invoice was issued\",\n      \"url\": \"https://example.com/hooks/voicepro\",\n      \"status\": \"active\",\n      \"created_at\": \"2026-10-28T21:15:02Z\",\n      \"last_delivery_at\": \"2026-10-28T21:16:40Z\",\n      \"last_response_code\": 200,\n      \"failing_since\": null,\n      \"secret_last4\": \"a1b2\",\n      \"events\": [\n        \"invoice.issued\"\n      ]\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Subscribe an HTTPS endpoint to an event. The answer carries the signing secret, the only time it is shown: keep it to check X-VoicePro-Signature (HMAC-SHA256 of the raw body)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks"
              ]
            },
            "description": "Subscribe an HTTPS endpoint to an event. The answer carries the signing secret, the only time it is shown: keep it to check X-VoicePro-Signature (HMAC-SHA256 of the raw body).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"event\": \"invoice.issued\",\n  \"url\": \"https://example.com/hooks/voicepro\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/webhooks",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "webhooks"
                  ]
                },
                "description": "Subscribe an HTTPS endpoint to an event. The answer carries the signing secret, the only time it is shown: keep it to check X-VoicePro-Signature (HMAC-SHA256 of the raw body).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"event\": \"invoice.issued\",\n  \"url\": \"https://example.com/hooks/voicepro\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 201,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"webhook\",\n  \"id\": \"wh_4c1e9a07\",\n  \"event\": \"invoice.issued\",\n  \"description\": \"A new invoice was issued\",\n  \"url\": \"https://example.com/hooks/voicepro\",\n  \"status\": \"active\",\n  \"created_at\": \"2026-10-28T21:15:02Z\",\n  \"last_delivery_at\": null,\n  \"last_response_code\": null,\n  \"failing_since\": null,\n  \"secret_last4\": \"a1b2\",\n  \"secret\": \"whsec_example0000000000000000000a1b2\",\n  \"events\": [\n    \"invoice.issued\"\n  ]\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One webhook",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/webhooks/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "wh_4c1e9a07"
                }
              ]
            },
            "description": "One webhook."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/webhooks/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "webhooks",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "wh_4c1e9a07"
                    }
                  ]
                },
                "description": "One webhook."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"webhook\",\n  \"id\": \"wh_4c1e9a07\",\n  \"event\": \"invoice.issued\",\n  \"description\": \"A new invoice was issued\",\n  \"url\": \"https://example.com/hooks/voicepro\",\n  \"status\": \"active\",\n  \"created_at\": \"2026-10-28T21:15:02Z\",\n  \"last_delivery_at\": \"2026-10-28T21:16:40Z\",\n  \"last_response_code\": 200,\n  \"failing_since\": null,\n  \"secret_last4\": \"a1b2\",\n  \"events\": [\n    \"invoice.issued\"\n  ]\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Change the URL, or pause and resume deliveries. A refused URL changes nothing",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "wh_4c1e9a07"
                }
              ]
            },
            "description": "Change the URL, or pause and resume deliveries. A refused URL changes nothing.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"status\": \"paused\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/webhooks/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "webhooks",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "wh_4c1e9a07"
                    }
                  ]
                },
                "description": "Change the URL, or pause and resume deliveries. A refused URL changes nothing.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"status\": \"paused\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"webhook\",\n  \"id\": \"wh_4c1e9a07\",\n  \"event\": \"invoice.issued\",\n  \"description\": \"A new invoice was issued\",\n  \"url\": \"https://example.com/hooks/voicepro\",\n  \"status\": \"paused\",\n  \"created_at\": \"2026-10-28T21:15:02Z\",\n  \"last_delivery_at\": \"2026-10-28T21:16:40Z\",\n  \"last_response_code\": 200,\n  \"failing_since\": null,\n  \"secret_last4\": \"a1b2\",\n  \"events\": [\n    \"invoice.issued\"\n  ]\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Delete a webhook. Deliveries stop at once",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "wh_4c1e9a07"
                }
              ]
            },
            "description": "Delete a webhook. Deliveries stop at once."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/webhooks/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "webhooks",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "wh_4c1e9a07"
                    }
                  ]
                },
                "description": "Delete a webhook. Deliveries stop at once."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"webhook\",\n  \"id\": \"wh_4c1e9a07\",\n  \"deleted\": true\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Send a signed test delivery (type \"test\", header X-VoicePro-Test: true) and see how your endpoint answered. At most 10 an hour per webhook and 30 per account",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/webhooks/:id/test",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                ":id",
                "test"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "wh_4c1e9a07"
                }
              ]
            },
            "description": "Send a signed test delivery (type \"test\", header X-VoicePro-Test: true) and see how your endpoint answered. At most 10 an hour per webhook and 30 per account."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/webhooks/:id/test",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "webhooks",
                    ":id",
                    "test"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "wh_4c1e9a07"
                    }
                  ]
                },
                "description": "Send a signed test delivery (type \"test\", header X-VoicePro-Test: true) and see how your endpoint answered. At most 10 an hour per webhook and 30 per account."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"webhook_delivery\",\n  \"id\": \"whd_8f2b61d0c4\",\n  \"webhook_id\": \"wh_4c1e9a07\",\n  \"event\": \"invoice.issued\",\n  \"test\": true,\n  \"attempted_at\": \"2026-10-28T21:16:40Z\",\n  \"duration_ms\": 212,\n  \"ok\": true,\n  \"response_code\": 200,\n  \"response_excerpt\": \"{\\\"received\\\":true}\",\n  \"event_id\": null,\n  \"attempt\": 1\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "The last 50 deliveries to a webhook, newest first, with how your endpoint answered",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/webhooks/:id/deliveries",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "webhooks",
                ":id",
                "deliveries"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "wh_4c1e9a07"
                }
              ]
            },
            "description": "The last 50 deliveries to a webhook, newest first, with how your endpoint answered."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/webhooks/:id/deliveries",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "webhooks",
                    ":id",
                    "deliveries"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "wh_4c1e9a07"
                    }
                  ]
                },
                "description": "The last 50 deliveries to a webhook, newest first, with how your endpoint answered."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"webhook_delivery\",\n      \"id\": \"whd_8f2b61d0c4\",\n      \"webhook_id\": \"wh_4c1e9a07\",\n      \"event\": \"invoice.issued\",\n      \"test\": true,\n      \"attempted_at\": \"2026-10-28T21:16:40Z\",\n      \"duration_ms\": 212,\n      \"ok\": true,\n      \"response_code\": 200,\n      \"response_excerpt\": \"{\\\"received\\\":true}\",\n      \"event_id\": null,\n      \"attempt\": 1\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Your account's events from the last 30 days, newest first, as sent to your webhooks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/events",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "events"
              ]
            },
            "description": "Your account's events from the last 30 days, newest first, as sent to your webhooks."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/events",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "events"
                  ]
                },
                "description": "Your account's events from the last 30 days, newest first, as sent to your webhooks."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"object\": \"event\",\n      \"id\": \"evt_3f9c2a71b8e04d6a9c1e5b27\",\n      \"type\": \"invoice.issued\",\n      \"occurred_at\": \"2026-10-29T09:00:00Z\",\n      \"data\": {\n        \"id\": \"INV-26-10AB12\",\n        \"period\": \"2026-10\",\n        \"totalGbp\": 42,\n        \"dueAt\": \"2026-11-12T00:00:00.000Z\"\n      }\n    }\n  ],\n  \"has_more\": false,\n  \"next_cursor\": null\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "One event from the last 30 days",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/events/:id",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "events",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "evt_3f9c2a71b8e04d6a9c1e5b27"
                }
              ]
            },
            "description": "One event from the last 30 days."
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{baseUrl}}/events/:id",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "events",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "evt_3f9c2a71b8e04d6a9c1e5b27"
                    }
                  ]
                },
                "description": "One event from the last 30 days."
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"event\",\n  \"id\": \"evt_3f9c2a71b8e04d6a9c1e5b27\",\n  \"type\": \"invoice.issued\",\n  \"occurred_at\": \"2026-10-29T09:00:00Z\",\n  \"data\": {\n    \"id\": \"INV-26-10AB12\",\n    \"period\": \"2026-10\",\n    \"totalGbp\": 42,\n    \"dueAt\": \"2026-11-12T00:00:00.000Z\"\n  }\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        },
        {
          "name": "Send an event again: to every webhook that receives its type, or to one",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/events/:id/resend",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "events",
                ":id",
                "resend"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "evt_3f9c2a71b8e04d6a9c1e5b27"
                }
              ]
            },
            "description": "Send an event again: to every webhook that receives its type, or to one.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"webhook_id\": \"wh_4c1e9a07\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Example",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{$guid}}"
                  }
                ],
                "url": {
                  "raw": "{{baseUrl}}/events/:id/resend",
                  "host": [
                    "{{baseUrl}}"
                  ],
                  "path": [
                    "events",
                    ":id",
                    "resend"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "evt_3f9c2a71b8e04d6a9c1e5b27"
                    }
                  ]
                },
                "description": "Send an event again: to every webhook that receives its type, or to one.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"webhook_id\": \"wh_4c1e9a07\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "status": "OK",
              "code": 200,
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"object\": \"event_resend\",\n  \"event_id\": \"evt_3f9c2a71b8e04d6a9c1e5b27\",\n  \"webhooks\": 1\n}",
              "_postman_previewlanguage": "json"
            }
          ]
        }
      ]
    }
  ]
}
