Content Update Details
const url = 'https://sitechecker.pro/api/v1/content_update_details?project_id=12345&content_update_id=example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://sitechecker.pro/api/v1/content_update_details?project_id=12345&content_update_id=example' \ --header 'Authorization: Bearer <token>'Returns before/after values and diff chunks for one selected Content Updates event.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Example
12345Project ID.
Content update id from content_updates or page_monitoring_changes.
Responses
Section titled “Responses”Content update details
object
object
Page URL.
Content event type.
Human-readable event name.
Current crawl ID.
Previous crawl ID used for comparison.
Before value for scalar changes; for text_content it is reconstructed from the diff (DELETE side); multiple sub-changes are joined; null when no scalar/diff (e.g. wp_plugin_added/removed). Capped at 10000 characters.
After value for scalar changes; for text_content it is reconstructed from the diff (INSERT side); multiple sub-changes are joined; null when no scalar/diff (e.g. wp_plugin_added/removed). Capped at 10000 characters.
HTML/text/code diff chunks for content changes, if available.
A single text/code diff chunk.
object
Example
{ "data": { "event_type": "text_content", "event_name": "Text content", "crawl_id": "1782174402", "previous_crawl_id": "1782131199", "diff_chunks": [ { "text": "<div class=\"item\">", "operation": "EQUAL", "oldIndex": "11", "newIndex": "11" } ] }}Missing or invalid API key
Returned as INVALID_API_KEY when the key is missing or unknown, and as REVOKED_API_KEY when the key exists but was revoked — the latter needs a new key.
object
object
Example
{ "error": { "code": "INVALID_API_KEY", "message": "Invalid or missing API key." }}No active API entitlement for the account, or the project belongs to another account
Returned as MISSING_PUBLIC_API_ACCESS when the account has no active API entitlement, and as ACCESS_DENIED when the requested project belongs to another account.
object
object
Example
{ "error": { "code": "MISSING_PUBLIC_API_ACCESS", "message": "API access is not available: the account has no active API entitlement." }}Project or content update not found
The exact missing resource is in error.code: PROJECT_NOT_FOUND, SEGMENT_NOT_FOUND, CRAWL_NOT_FOUND, KEYWORD_NOT_FOUND, OPPORTUNITY_NOT_FOUND, SNAPSHOT_UNAVAILABLE or NOT_FOUND.
object
object
Example
{ "error": { "code": "PROJECT_NOT_FOUND", "message": "Project not found." }}Validation error or invalid content_update_id
Rejected query parameters. error.code is VALIDATION_ERROR for parameter validation (including a query parameter the endpoint does not accept), or INVALID_DATE_RANGE / INVALID_FILTER / INVALID_EVENT_TYPE / UNSUPPORTED_FILTER / UNSUPPORTED_DIMENSION / UNSUPPORTED_METRIC / UNSUPPORTED_SCOPE / SEGMENT_FILTER_UNSUPPORTED for module-specific rules.
object
object
Example
{ "error": { "code": "VALIDATION_ERROR", "message": "project_id is required." }}Rate limit exceeded — retry after the interval in the Retry-After header
object
object
Example
{ "error": { "code": "RATE_LIMIT_EXCEEDED", "message": "Rate limit exceeded. Try again later." }}Internal server error
object
object
Example
{ "error": { "code": "INTERNAL_ERROR", "message": "Internal server error." }}