Base path: /consents

These endpoints track the terms of service and privacy policy versions, and which one each user has accepted.

GET /consents/active-version

Returns the versions currently in force. No authentication required.

curl https://api.jetscrape.com/consents/active-version
{
  "tosVersion": "2025-06-01",
  "privacyVersion": "2025-06-01",
  "createdAt": "2025-06-01T00:00:00.000Z"
}

POST /consents

Records the user's acceptance. Session required.

curl -X POST https://api.jetscrape.com/consents \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{
    "tosVersion": "2025-06-01",
    "privacyVersion": "2025-06-01"
  }'
{ "success": true, "acceptedAt": "2025-06-08T11:00:00.000Z" }

Errors: 401 session required · 400 the versions sent do not match the active ones.

Never hard-code version numbers. Send back exactly what GET /consents/active-version returned, or the request will start failing with 400 as soon as a new version is published.

GET /consents/latest

Returns the most recent consent the user has given. Session required.

curl https://api.jetscrape.com/consents/latest -b cookies.txt
1. GET /consents/active-version   →  the versions in force
2. GET /consents/latest           →  what the user accepted
3. If they differ, show the consent screen
4. POST /consents                 →  record acceptance with the active versions

Running this check right after sign-in, as the dashboard loads, is the simplest place for it.

Last updated: September 22, 2026