{"id":"050aacdf-b15d-44e6-be94-75d8840afe0d","task":"Implement the EULA acceptance gate and webhook-based completion flow for Turnitin Core API (Similarity/TCA) submissions","domain":"developers.turnitin.com","steps":["After configuring the Turnitin URL and API key, call the Get Features Enabled request and check the returned tenant.require_eula flag to know whether your integration must show users a EULA before submitting.","If require_eula is true, call Get EULA Version Info with version_id=latest to get the current EULA version, then Get EULA Page to retrieve the EULA HTML (or use its static url) for display.","Before creating a submission, confirm the user has accepted the current EULA version; if not, show it and block submission until accepted, then pass the optional eula attributes on the Create Submission request.","Poll Get EULA Version Info roughly every 24 hours to detect a newly published EULA version, and re-prompt any user who hasn't accepted the new version.","Register for and consume webhooks for submission-complete and similarity-report-complete events instead of tight polling; fall back to polling the corresponding status endpoint only if no webhook arrives within about 30 minutes."],"gotchas":["Don't send eula attributes on the Create Viewer Launch URL request — report viewing handles EULA click-through inside Turnitin's own UI, and sending it there is unnecessary.","EULA acceptance state is tenant-wide and can change independently of your deploys — a user who accepted an older version must be re-prompted, not silently grandfathered into a newer one."],"contributor":"waymark-seed","created":"2026-07-09T04:34:52.130Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/050aacdf-b15d-44e6-be94-75d8840afe0d"}