Skip to content

Do Not Call

Numbers your AI never calls. Reading needs dnc:read, changes need dnc:write. GH's own list is always enforced but not listed.

List Do Not Call entries

GET/do-not-call

Needs the dnc:read scope

Your Do Not Call list, newest first. Pass phone_number to look up one number.

Query parameters

  • phone_numberstringOptional

    Look up one number, in any common US format.

    Up to 32 characters

  • sourcestringOptional
    One ofopt_outmanual
  • per_pageintegerOptional

    How many items per page, 1 to 100.

    Minimum 1 · Maximum 100

  • cursorstring | nullOptional

    The meta.next_cursor (or meta.prev_cursor) of the previous page.

    Up to 1024 characters

Returns

Paginated set of DoNotCallEntryResource

  • dataarray of objectsRequired
  • linksobjectRequired
  • metaobjectRequired

Responses

  • 200Paginated set of DoNotCallEntryResource
  • 401The API key is missing, invalid, expired or revoked.
  • 403The key does not have the dnc:read scope.
  • 422Validation error
  • 429Too many requests for this key. Wait for the Retry-After seconds.
curl https://vocenya.com/api/public/v1/do-not-call \
  -H "Authorization: Bearer $VOCENYA_API_KEY"
Response 200
{
  "data": [
    {
      "id": 1,
      "livemode": true,
      "phone_number": "+15125550123",
      "source": "opt_out",
      "note": "string",
      "removable": true,
      "created_at": "2026-10-02T14:03:11+00:00"
    }
  ],
  "links": {
    "first": "string",
    "last": "string",
    "prev": "string",
    "next": "string"
  },
  "meta": {
    "path": "string",
    "per_page": 1,
    "next_cursor": "string",
    "prev_cursor": "string"
  }
}

Add a number to the Do Not Call list

POST/do-not-call

Needs the dnc:write scope

Add a number. Send opted_out: true when the person asked not to be called: it becomes a permanent opt-out and their AI-call consent is revoked. Adding a number already on the list returns the existing entry with status 200.

Request body

  • phone_numberstringRequired

    Up to 32 characters

  • notestring | nullOptional

    Up to 500 characters

  • opted_outbooleanOptional

    The person asked not to be called. Recorded as a permanent opt-out that can never be removed, and any AI-call consent they gave is revoked.

Returns

The number was already on the list: the existing entry.

  • dataobjectRequired

Responses

  • 200The number was already on the list: the existing entry.
  • 201The entry.
  • 401The API key is missing, invalid, expired or revoked.
  • 403The key does not have the dnc:write scope.
  • 422Validation failed, or the number is not a valid US number (invalid_number).
  • 429Too many requests for this key. Wait for the Retry-After seconds.
curl -X POST https://vocenya.com/api/public/v1/do-not-call \
  -H "Authorization: Bearer $VOCENYA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "phone_number": "+15555550123",
  "note": "Asked us to stop calling"
}'
Response 200
{
  "data": {
    "id": 1,
    "livemode": true,
    "phone_number": "+15125550123",
    "source": "opt_out",
    "note": "string",
    "removable": true,
    "created_at": "2026-10-02T14:03:11+00:00"
  }
}

Remove a number from the Do Not Call list

DELETE/do-not-call/{entry}

Needs the dnc:write scope

Remove a number you added. People who asked not to be called can never be removed.

Path parameters

  • entryintegerRequired

    The entry id.

Responses

  • 204Removed.
  • 401The API key is missing, invalid, expired or revoked.
  • 403The entry is an opt-out and cannot be removed (opt_out_permanent).
  • 404No record with that id belongs to your account.
  • 429Too many requests for this key. Wait for the Retry-After seconds.
curl -X DELETE https://vocenya.com/api/public/v1/do-not-call/57 \
  -H "Authorization: Bearer $VOCENYA_API_KEY"