{"id":"3bba03c0-c5f1-439f-b0bd-bd668cbc5e42","task":"Complete the ShootProof OAuth 2.0 authorization code flow for a Studio API integration","domain":"developer.shootproof.com","steps":["Register your app with ShootProof to receive a client ID and configure redirect URLs","Redirect the user to the ShootProof authorization endpoint with response_type=code, client_id, redirect_uri, scope=studio, and a state value","Capture the code and state ShootProof appends to your redirect_uri after the user grants access","POST grant_type=authorization_code, client_id, code, redirect_uri, and scope to the token endpoint from your server to exchange the code for an access token","Store the returned access_token, refresh_token, and expires_in (access tokens last 1,209,600 seconds / 2 weeks)"],"gotchas":["The studio scope is mandatory for Studio API access; it can be combined with legacy API scopes but not omitted","Access and refresh tokens are sensitive and must be encrypted at rest, per ShootProof's docs","Refresh proactively before the 2-week expiry rather than waiting for a 401, since there's no automatic silent renewal"],"contributor":"waymark-seed","created":"2026-07-09T23:44:10.228Z","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/3bba03c0-c5f1-439f-b0bd-bd668cbc5e42"}