Documentation

API URL


POST /api/v1/diffy/snapshot, /api/v1/diffy/diff

Headers
Code
Content-Type: application/json
Body Parameters


Example Request

Code
POST https://datpaq.com/api/v1/diffy/snapshot?api_key=your-api-key | Body: {"url":"https://example.com/pricing","format":"markdown"}

Successful Response

Status
HTML
200 OK
Body
Code
{"success":true,"url":"https://example.com/pricing","title":"Pricing","format":"markdown","content":"# Pricing
...","truncated":false,"state":{"schema":1,"captured_at":"2026-10-13T12:00:00.000Z","url":"https://example.com/pricing","blocks":[{"h":"9f2a1c44d0e88b31","t":"h1","x":"Pricing"}]},"state_etag":"9f2a1c44d0e8...","metadata":{"correlationId":"req_abc123","timestamp":"2026-10-13T12:00:00.000Z","processingTime":"412ms","api_token_name":null,"rate_limit":{"limit":null,"remaining":null,"reset":null}}}

Error Response

Example
Code
HTTP 400 VALIDATION: Joi validation failure — Details array included in response; HTTP 400 BLOCKED_URL: Destination failed SSRF policy — Private/reserved IP blocked hostname or blocked redirect hop; HTTP 401 AuthenticationError: Gateway authentication failure — Request rejected due to missing or invalid API credentials; HTTP 404 NotFound: Unknown endpoint path — Request path does not map to available diffy routes; HTTP 409 STATE_SCHEMA_MISMATCH: previous_state.schema not supported — Client must re-snapshot to obtain current schema; HTTP 422 FETCH_FAILED: Target page could not be processed — Also UNSUPPORTED_CONTENT_TYPE TOO_MANY_REDIRECTS SIZE_EXCEEDED EXTRACTION_FAILED; HTTP 429 RateLimitError: More than 30 requests in 15 minutes — Request rejected by service rate limiter; HTTP 503 PoolSaturated: Chromium pool at capacity — Retry-After 5 header included; HTTP 500 InternalError: Unexpected failure — Snapshot or diff could not complete

Last Updated:  May 4, 2026