Track update views
Records a view of an update. This endpoint powers the embeddable release notes widget’s view analytics — you generally don’t need to call it directly, but it’s documented here for completeness and for custom widget integrations.
POST /api/projects/{project_id}/updates/{update_id}/trackAuthentication
Section titled “Authentication”None. This endpoint is public so the widget can report views from a visitor’s browser without exposing an API token.
Path parameters
Section titled “Path parameters”| Parameter | Type | Description |
|---|---|---|
project_id | string | The project the update belongs to. |
update_id | string | The update that was viewed. |
Request body
Section titled “Request body”Send a JSON body with the identifier of the viewer.
| Field | Type | Required | Description |
|---|---|---|---|
tracking_target_id | string | Yes | Identifier for the viewer (e.g. a per-visitor ID your widget generates), used to attribute the view. |
Example request
Section titled “Example request”curl -X POST \ https://updatify.io/api/projects/PROJECT_ID/updates/UPDATE_ID/track \ -H "Content-Type: application/json" \ -d '{"tracking_target_id": "visitor-12345"}'Response
Section titled “Response”200 OK on success:
{ "success": true, "update_id": "b3f1c2d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d"}Errors
Section titled “Errors”The API responds with 422 Unprocessable Entity if the
request can’t be processed.
If tracking_target_id is missing or blank:
{ "success": false, "errors": { "tracking_target_id": ["can't be blank"] }}If the update can’t be found for the given project:
{ "success": false, "errors": "Update not found"}