Voicegram

List domains and campaigns

Returns the domains and campaigns owned by the authenticated account.

On this page

Returns the domains and campaigns owned by the authenticated account. Powers Zapier's "Watch which channel?" dropdown.

Sort order: domains first (alphabetical by domain), then campaigns (alphabetical by name).

Endpoint

http
GET /api/v1/channels

Authentication

Bearer Personal Access Token. See Authentication.

Example request

bash
curl https://www.voicegram.io/api/v1/channels \
  -H "Authorization: Bearer vg_pat_<your-token>"

Responses

200OK

Channel list

FieldTypeRequiredDescription
channelsarray of objectyes
channels[].idstring (uuid)yesChannel identifier. Stable across renames.
channels[].typeenum ("domain", "campaign")yes
channels[].namestringyesFor type=domain this is the hostname (e.g. acme.com). For type=campaign this is the campaign display name.
channels[].slugstringnoURL-safe slug. Only present for type=campaign; absent on domain rows.
json
{
  "channels": [
    {
      "id": "11111111-1111-1111-1111-111111111111",
      "type": "domain",
      "name": "acme.com"
    },
    {
      "id": "22222222-2222-2222-2222-222222222222",
      "type": "domain",
      "name": "shop.acme.com"
    },
    {
      "id": "33333333-3333-3333-3333-333333333333",
      "type": "campaign",
      "name": "Store Feedback",
      "slug": "store-feedback"
    }
  ]
}
401Unauthorized

The PAT is missing, malformed, expired, or revoked.

See Errors for the shared error response shape.

403Forbidden

PAT is valid but the account is on the free plan.

See Errors for the shared error response shape.

429Too Many Requests

Per-account rate limit exceeded.

See Errors for the shared error response shape.

500Internal Server Error

Unexpected server error.

See Errors for the shared error response shape.

Need help? Email support@voicegram.io.