{
  "info": {
    "name": "VoicerOnePBX API",
    "description": "Send fax/SMS/email/reminders, originate calls, poll received messages, and read live queue status. Set the collection variables baseUrl and token.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{token}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://pbx.example.com:8085"
    },
    {
      "key": "token",
      "value": "YOUR_TOKEN"
    }
  ],
  "item": [
    {
      "name": "Messaging",
      "item": [
        {
          "name": "Send fax",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/fax",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "fax"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"19725329272\",\n  \"pdfBase64\": \"<base64 PDF>\",\n  \"cover\": {\n    \"to\": \"Dr. Smith\",\n    \"from\": \"Acme Clinic\",\n    \"subject\": \"Referral\"\n  },\n  \"statusCallbackUrl\": \"https://app.example.com/fax-status\"\n}"
            }
          }
        },
        {
          "name": "Send SMS",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "sms"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"905-555-0134\",\n  \"message\": \"Your appointment on Jul 28 at 2:30pm is confirmed.\"\n}"
            }
          }
        },
        {
          "name": "Send email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/email",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "email"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"patient@example.com\",\n  \"subject\": \"Your receipt\",\n  \"html\": \"<p>Thanks for your visit.</p>\",\n  \"attachment\": {\n    \"filename\": \"receipt.pdf\",\n    \"base64\": \"<base64 PDF>\"\n  }\n}"
            }
          }
        },
        {
          "name": "Schedule reminder",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/reminders",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "reminders"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"customerName\": \"Jane Roe\",\n  \"phoneNumber\": \"905-555-0134\",\n  \"appointmentAt\": \"2026-07-28T14:30:00Z\",\n  \"serviceName\": \"Dental cleaning\",\n  \"staffName\": \"Dr. Smith\",\n  \"externalRef\": \"appt-8821\",\n  \"statusCallbackUrl\": \"https://app.example.com/reminder-status\"\n}"
            }
          }
        }
      ]
    },
    {
      "name": "Voice",
      "item": [
        {
          "name": "Originate call",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/voice/originate",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "voice",
                "originate"
              ]
            },
            "description": "",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"19055550134\",\n  \"controlUrl\": \"https://app.example.com/ivr\",\n  \"secret\": \"the-shared-secret\",\n  \"callerId\": \"14165550100\"\n}"
            }
          }
        }
      ]
    },
    {
      "name": "Inbox",
      "item": [
        {
          "name": "List received faxes",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/inbox/faxes",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "inbox",
                "faxes"
              ],
              "query": [
                {
                  "key": "since",
                  "value": "0"
                },
                {
                  "key": "limit",
                  "value": "100"
                }
              ]
            },
            "description": ""
          }
        },
        {
          "name": "List inbound SMS",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/inbox/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "inbox",
                "sms"
              ],
              "query": [
                {
                  "key": "since",
                  "value": "0"
                },
                {
                  "key": "limit",
                  "value": "100"
                }
              ]
            },
            "description": ""
          }
        },
        {
          "name": "List voicemail (per mailbox)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/inbox/voicemails",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "inbox",
                "voicemails"
              ],
              "query": [
                {
                  "key": "ext",
                  "value": "101"
                },
                {
                  "key": "since",
                  "value": "0"
                },
                {
                  "key": "limit",
                  "value": "100"
                }
              ]
            },
            "description": ""
          }
        }
      ]
    },
    {
      "name": "Status",
      "item": [
        {
          "name": "Queue status (wallboard)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/queue-status",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "api",
                "queue-status"
              ]
            },
            "description": "Read-only LAN feed for wallboards. No token required.",
            "auth": {
              "type": "noauth"
            }
          }
        }
      ]
    }
  ]
}