{
  "info": {
    "_postman_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "AvenPing API v2",
    "description": "Full v2 surface for avenping-api. Variables: `baseUrl`, `apiToken`, `phoneNumberId`, `templateName`, `flowId`, `mediaId`. Auth: Bearer (folder-level) or `X-API-Token` (see folder at bottom). Premium/Enterprise + active plan required for all v2 routes except /v2/health and /v2/version.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.avenping.com"
    },
    {
      "key": "apiToken",
      "value": ""
    },
    {
      "key": "phoneNumberId",
      "value": ""
    },
    {
      "key": "templateName",
      "value": "hello_world"
    },
    {
      "key": "flowId",
      "value": ""
    },
    {
      "key": "mediaId",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Public",
      "item": [
        {
          "name": "Root (JSON)",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{baseUrl}}/?format=json"
          },
          "response": []
        },
        {
          "name": "Health",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{baseUrl}}/v2/health"
          },
          "response": []
        },
        {
          "name": "Version",
          "request": {
            "method": "GET",
            "header": [],
            "url": "{{baseUrl}}/v2/version"
          },
          "response": []
        }
      ]
    },
    {
      "name": "v2 — Authenticated (Bearer)",
      "auth": {
        "type": "bearer",
        "bearer": [
          {
            "key": "token",
            "value": "{{apiToken}}",
            "type": "string"
          }
        ]
      },
      "item": [
        {
          "name": "Account",
          "item": [
            {
              "name": "Current user & phone numbers",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/me"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Webhooks (outbound URL)",
          "item": [
            {
              "name": "Get webhook config",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/webhooks/config"
              },
              "response": []
            },
            {
              "name": "Save webhook URL + code",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/webhooks/config",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"webhookUrl\": \"https://example.com/your-endpoint\",\n  \"webhookCode\": \"paste_or_generate_via_generate_code\"\n}"
                }
              },
              "response": []
            },
            {
              "name": "Generate new webhook code",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/webhooks/generate-code",
                "body": {
                  "mode": "raw",
                  "raw": "{}"
                }
              },
              "response": []
            },
            {
              "name": "Clear webhook config",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": "{{baseUrl}}/v2/webhooks/config"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Templates",
          "item": [
            {
              "name": "List templates",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/templates?limit=25"
              },
              "response": []
            },
            {
              "name": "Get template by name",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/templates/{{templateName}}"
              },
              "response": []
            },
            {
              "name": "Send template",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/templates/send",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"templateName\": \"{{templateName}}\",\n  \"language\": \"en_US\",\n  \"components\": []\n}"
                }
              },
              "response": []
            },
            {
              "name": "Test-send template (path name)",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/templates/{{templateName}}/test-send",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"language\": \"en_US\"\n}"
                }
              },
              "response": []
            }
          ]
        },
        {
          "name": "Forms",
          "item": [
            {
              "name": "List forms (flows)",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/forms?limit=25"
              },
              "response": []
            },
            {
              "name": "Search forms (DB)",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/forms/search?q=&limit=20"
              },
              "response": []
            },
            {
              "name": "Get flow by ID",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/forms/{{flowId}}"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Media",
          "item": [
            {
              "name": "Upload media (multipart)",
              "request": {
                "method": "POST",
                "header": [],
                "body": {
                  "mode": "formdata",
                  "formdata": [
                    {
                      "key": "file",
                      "type": "file",
                      "src": []
                    },
                    {
                      "key": "phoneNumberId",
                      "type": "text",
                      "value": "{{phoneNumberId}}"
                    }
                  ]
                },
                "url": "{{baseUrl}}/v2/media/upload"
              },
              "response": []
            },
            {
              "name": "Download media (inline)",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/media/{{mediaId}}/download?disposition=inline"
              },
              "response": []
            },
            {
              "name": "Download media (attachment)",
              "request": {
                "method": "GET",
                "header": [],
                "url": "{{baseUrl}}/v2/media/{{mediaId}}/download?disposition=attachment"
              },
              "response": []
            }
          ]
        },
        {
          "name": "Messages",
          "item": [
            {
              "name": "Smart send",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"text\": \"Hello from Postman (smart /send)\"\n}"
                }
              },
              "response": []
            },
            {
              "name": "Send text",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/text",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"text\": \"Hello from Postman\"\n}"
                }
              },
              "response": []
            },
            {
              "name": "Send media",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/media",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"media\": {\n    \"type\": \"image\",\n    \"mediaId\": \"MEDIA_ID_FROM_UPLOAD\",\n    \"caption\": \"Optional caption\"\n  }\n}"
                }
              },
              "response": []
            },
            {
              "name": "Send location",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/location",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"location\": {\n    \"latitude\": 37.422,\n    \"longitude\": -122.084,\n    \"name\": \"HQ\",\n    \"address\": \"1600 Amphitheatre Parkway\"\n  }\n}"
                }
              },
              "response": []
            },
            {
              "name": "Interactive — catalog message",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/interactive/catalog-message",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"bodyText\": \"Browse our catalog\",\n  \"footerText\": \"Tap to open\"\n}"
                }
              },
              "response": []
            },
            {
              "name": "Interactive — single product",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/interactive/product",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"catalogId\": \"CATALOG_ID\",\n  \"productRetailerId\": \"SKU_ID\",\n  \"bodyText\": \"Featured product\"\n}"
                }
              },
              "response": []
            },
            {
              "name": "Interactive — product list",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/interactive/product-list",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"catalogId\": \"CATALOG_ID\",\n  \"headerText\": \"Shop\",\n  \"bodyText\": \"Pick a product\",\n  \"sections\": [\n    {\n      \"title\": \"Featured\",\n      \"product_items\": [\n        {\n          \"product_retailer_id\": \"SKU_1\"\n        }\n      ]\n    }\n  ]\n}"
                }
              },
              "response": []
            },
            {
              "name": "Interactive — product carousel",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/interactive/product-carousel",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"bodyText\": \"Swipe products\",\n  \"cards\": [\n    {\n      \"catalogId\": \"CATALOG_ID\",\n      \"productRetailerId\": \"SKU_1\"\n    },\n    {\n      \"catalogId\": \"CATALOG_ID\",\n      \"productRetailerId\": \"SKU_2\"\n    }\n  ]\n}"
                }
              },
              "response": []
            },
            {
              "name": "Interactive — reply buttons",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/interactive/button",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"bodyText\": \"Choose an option\",\n  \"buttons\": [\n    {\n      \"id\": \"yes\",\n      \"title\": \"Yes\"\n    },\n    {\n      \"id\": \"no\",\n      \"title\": \"No\"\n    }\n  ]\n}"
                }
              },
              "response": []
            },
            {
              "name": "Interactive — list",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json",
                    "type": "text"
                  }
                ],
                "url": "{{baseUrl}}/v2/messages/send/interactive/list",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"phoneNumberId\": \"{{phoneNumberId}}\",\n  \"to\": \"15551234567\",\n  \"bodyText\": \"Select below\",\n  \"buttonText\": \"Open menu\",\n  \"headerText\": \"Menu\",\n  \"sections\": [\n    {\n      \"title\": \"Section A\",\n      \"rows\": [\n        {\n          \"id\": \"r1\",\n          \"title\": \"Row 1\",\n          \"description\": \"Optional\"\n        }\n      ]\n    }\n  ]\n}"
                }
              },
              "response": []
            }
          ]
        }
      ]
    },
    {
      "name": "Auth example — X-API-Token",
      "item": [
        {
          "name": "Templates list (header token)",
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "GET",
            "header": [
              {
                "key": "X-API-Token",
                "value": "{{apiToken}}",
                "type": "text"
              }
            ],
            "url": "{{baseUrl}}/v2/templates"
          },
          "response": []
        }
      ]
    }
  ]
}