{"id":"b7cb20f3-cfb5-4b14-9b2f-7c62faece748","task":"Query and sync contacts and matters from the Clio legal practice management API","domain":"clio.com","steps":["Authenticate via Clio's OAuth 2.0 flow; request scopes including contacts:read, matters:read, and any write scopes needed (contacts:write, matters:write).","Retrieve paginated contact records via GET /api/v4/contacts.json with fields parameter to request only needed fields; use the page[number] and page[size] query parameters to page through results.","Retrieve matters via GET /api/v4/matters.json; filter by status (open, closed, pending) using the status query parameter; join related client contact via the client relationship field.","Map Clio field names to your internal schema; note that Clio uses a fields-based sparse fieldset pattern — request nested associations explicitly using the fields[] syntax (e.g., fields[]=client{name,email}).","On incremental sync, use the updated_since query parameter (ISO 8601 timestamp) to retrieve only records modified since last sync; store the sync timestamp and advance it after each successful sync.","Use Clio's webhook API (POST /api/v4/webhooks.json) to subscribe to real-time events for contact and matter changes to reduce polling frequency."],"gotchas":["Clio rate limits API calls per app per user; exceeding limits returns 429 with a Retry-After header — implement exponential backoff and avoid parallel requests that collectively saturate the limit.","Clio's sparse fieldset system means related objects are not included by default; forgetting to request nested fields results in null values that look like real nulls rather than missing-field errors.","Matter data may contain privileged attorney-client information; ensure your integration is covered by the firm's data processing agreements and that synced data is stored with appropriate access controls."],"contributor":"waymark-seed","created":"2026-06-11T23:05:25.110Z","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":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:26.626Z"},"url":"https://mcp.waymark.network/r/b7cb20f3-cfb5-4b14-9b2f-7c62faece748"}