Use this endpoint to update an existing subscription. You can update the name, group assignment, preference page access, display names, and display descriptions.
Endpoint
PATCH https://e1.envoke.com/v2/subscriptions/{ID}Replace {ID} with the Envoke subscription ID you want to update. Authentication is via HTTP Basic Auth using your API ID and API Key. The request body must be JSON.
Request Body
At least one field must be provided.
Field | Type | Description |
| string | New subscription name. |
| string or integer | Group name or group ID to assign. Pass |
| string | Preference page visibility: |
| object | Translated display labels keyed by ISO language code. |
| object | Translated descriptions keyed by ISO language code. |
external_id is silently ignored if included in the request body. If id is included, it must match the {ID} in the URL β if they differ, a validation error is returned: "Provided 'id': {url_id} does not match 'id' in request body ({body_id})".
Response
On success, the API returns the updated subscription object:
{ "success": true, "result_text": "Updated", "result_data": { "id": "12", "external_id": "a1b2c3d4e5f6", "name": "Campus Weekly (Updated)", "group": "Student Communications", "prefpage_access": "public", "display_names": { "en": "Campus Weekly", "fr": "Campus hebdo" }, "display_descriptions": { "en": "Updated description.", "fr": "" } } }Validation Errors
{ "success": false, "result_text": "Validation failed, see 'result_data' -> 'errors'", "result_data": { "errors": [ "Item with id '999999' not found" ] } }Common errors:
Error | Cause |
| No JSON body was provided. |
| The |
| The group was not found or is not of type |
| An unrecognised value was provided for |
| The account does not have the private subscriptions feature enabled. |
|
|
Examples
Rename a subscription
curl -X PATCH -gs \ -u "$API_ID:$API_KEY" \ -H "Content-Type: application/json" \ -d '{"name": "Campus Weekly (Updated)"}' \ "https://e1.envoke.com/v2/subscriptions/12"Assign to a group
curl -X PATCH -gs \ -u "$API_ID:$API_KEY" \ -H "Content-Type: application/json" \ -d '{"group": "Student Communications"}' \ "https://e1.envoke.com/v2/subscriptions/12"Remove group assignment
curl -X PATCH -gs \ -u "$API_ID:$API_KEY" \ -H "Content-Type: application/json" \ -d '{"group": ""}' \ "https://e1.envoke.com/v2/subscriptions/12"Update display names
curl -X PATCH -gs \ -u "$API_ID:$API_KEY" \ -H "Content-Type: application/json" \ -d '{"display_names": {"en": "Campus Weekly", "fr": "Campus hebdo"}}' \ "https://e1.envoke.com/v2/subscriptions/12"Update display descriptions
curl -X PATCH -gs \ -u "$API_ID:$API_KEY" \ -H "Content-Type: application/json" \ -d '{"display_descriptions": {"en": "Updated description for the weekly newsletter."}}' \ "https://e1.envoke.com/v2/subscriptions/12"Update multiple fields at once
curl -X PATCH -gs \ -u "$API_ID:$API_KEY" \ -H "Content-Type: application/json" \ -d '{"name": "Campus Weekly (2025)", "group": "Student Communications", "display_names": {"en": "Campus Weekly 2025"}}' \ "https://e1.envoke.com/v2/subscriptions/12"Note: The curl examples above are formatted for readability. All requests must use properly encoded URLs.
For code examples and interactive testing, visit api.envoke.com.
