{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"id":"google/calendar-api","name":"Google Calendar API (OAuth app)","vendor":"Google","status":"researched","last_verified":null,"last_researched":"2026-10-25","summary":"Enable the Calendar API in a Google Cloud project, configure the OAuth consent screen, create an OAuth client, and complete sensitive-scope verification before a public launch that reads or writes users' calendars.","account_model":{"summary":"A Google account owns a Google Cloud project; the OAuth client and consent screen live in that project.","accounts":[{"name":"Google account","kind":"personal","owned_by":"the person","required":true},{"name":"Google Cloud project","kind":"project","parent":"Google account","required":true}]},"prerequisites":[{"need":"A Google Cloud project you own"},{"entry":"google/oauth-verification","note":"Needed for External apps in production that request sensitive Calendar scopes (e.g. reading events)."}],"identity_requires":[],"have_ready":[{"kind":"live_website","description":"Public home page on a domain verified in Google Search Console","why":null,"needed_for":["verification"],"auto_check":"website_live","source_url":"https://developers.google.com/identity/protocols/oauth2/production-readiness/sensitive-scope-verification"},{"kind":"app_privacy_policy_url","description":"Privacy policy on the same domain as the home page","why":null,"needed_for":["verification"],"auto_check":"website_live","source_url":"https://developers.google.com/identity/protocols/oauth2/production-readiness/sensitive-scope-verification"},{"kind":"demo_video","description":"Unlisted YouTube video showing the consent flow (with client ID in the address bar) and how each scope is used","why":null,"needed_for":["verification"],"auto_check":"none","source_url":"https://developers.google.com/identity/protocols/oauth2/production-readiness/sensitive-scope-verification"}],"steps":[{"id":"enable_api","title":"Enable the Google Calendar API","summary":"In your project's API Library, enable the Google Calendar API.","route":"copilot","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":[],"optional":false,"url":"https://console.cloud.google.com/apis/library/calendar-json.googleapis.com","lead_time":null,"preflight":[],"captures":null},{"id":"consent_screen","title":"Configure the consent screen","summary":"Under Google Auth platform > Branding enter app name and support email, choose Internal or External, add a contact email and accept the Google API Services User Data Policy.","route":"copilot","gate":"human_terms","human_only":true,"gate_label":"You accept the terms","depends_on":["enable_api"],"optional":false,"url":"https://console.cloud.google.com/auth/branding","lead_time":null,"preflight":[],"captures":null},{"id":"choose_scopes","title":"Choose the narrowest Calendar scopes","summary":"Under Data Access add only what you need (e.g. calendar.events.owned or calendar.freebusy rather than calendar). The console shows each scope's tier. Add test users under Audience while in Testing.","route":"copilot","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["consent_screen"],"optional":false,"url":"https://console.cloud.google.com/auth/scopes","lead_time":null,"preflight":[],"captures":null},{"id":"create_client","title":"Create an OAuth client ID","summary":"Under Google Auth platform > Clients create a client (e.g. Web application) with your redirect URIs and copy the ID and secret.","route":"copilot","gate":"human_submit","human_only":true,"gate_label":"You press submit","depends_on":["consent_screen"],"optional":false,"url":"https://console.cloud.google.com/auth/clients","lead_time":null,"preflight":[],"captures":"GOOGLE_OAUTH_CLIENT_SECRET"},{"id":"verification","title":"Submit sensitive-scope verification","summary":"For External production apps, publish branding, then submit data-access verification with per-scope justifications and the demo video. Internal and personal-use apps are exempt.","route":"guided","gate":"third_party_review","human_only":true,"gate_label":"The provider reviews it","depends_on":["choose_scopes","create_client"],"optional":true,"url":"https://console.cloud.google.com/auth/verification","lead_time":{"official":{"text":"Sensitive scope verification typically takes 3-5 business days.","source_url":"https://developers.google.com/identity/protocols/oauth2/production-readiness/sensitive-scope-verification","source_title":"Sensitive scope verification"},"reported":null,"typical_minutes":null},"preflight":["privacy_policy_reachable","website_live"],"captures":null}],"gates":[{"step":"enable_api","gate":"human_submit","label":"You press submit"},{"step":"consent_screen","gate":"human_terms","label":"You accept the terms"},{"step":"choose_scopes","gate":"human_submit","label":"You press submit"},{"step":"create_client","gate":"human_submit","label":"You press submit"},{"step":"verification","gate":"third_party_review","label":"The provider reviews it"}],"lead_times":[{"step":"verification","what":"Submit sensitive-scope verification","official":{"text":"Sensitive scope verification typically takes 3-5 business days.","source_url":"https://developers.google.com/identity/protocols/oauth2/production-readiness/sensitive-scope-verification","source_title":"Sensitive scope verification"},"reported":null}],"outputs":[{"name":"GOOGLE_OAUTH_CLIENT_ID","description":"OAuth 2.0 client ID","secret":false,"example_format":"123456789012-abc….apps.googleusercontent.com","environments":null},{"name":"GOOGLE_OAUTH_CLIENT_SECRET","description":"OAuth 2.0 client secret","secret":true,"example_format":"GOCSPX-…","environments":null}],"renewals":[],"estimated_minutes":null,"guide_url":"https://verapli.com/guides/google/calendar-api"}