Skip to content

Reference

Basecamp

Set up Basecamp OAuth for project management and team collaboration

Connect your users to Basecamp for project management, team collaboration, and task tracking.

PropertyValue
Provider IDbasecamp
CategoryProductivity
PKCESupported
Token refreshAutomatic
Redirect URIShown in Developer Portal

Go to 37signals Launchpad

Navigate to 37signals Launchpad and sign in with your Basecamp account.

Register a new application

Click Register another application.

Configure the application

Enter the application name and company website. Add the Alter callback URL (from the Developer Portal) to the Redirect URI field.

Get credentials

Copy the Client ID and Client Secret.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Basecamp provider

Go to OAuth Providers > Add Provider > Basecamp.

Enter credentials

  • Client ID: Paste your Basecamp Client ID
  • Client Secret: Paste your Basecamp Client Secret

Save

Click Save. The provider is now active.

Basecamp does not use OAuth scopes. The access token grants access based on the authenticating user’s permissions within their Basecamp account.

  • The OAuth flow goes through 37signals Launchpad, the parent company of Basecamp.
  • Basecamp does not use scopes. Tokens grant access to all Basecamp resources the authenticating user has permission to access.
  • See the Basecamp API documentation for more details on authentication and available endpoints.

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider path
comments/createsendPOST/buckets/{bucket_id}/recordings/{recording_id}/comments.json
todos/uncompletedeleteDELETE/buckets/{bucket_id}/todos/{todo_id}/completion.json
documents/createwritePOST/buckets/{bucket_id}/vaults/{vault_id}/documents.json
messages/createwritePOST/buckets/{bucket_id}/message_boards/{board_id}/messages.json
projects/createwritePOST/projects.json
schedule-entries/createwritePOST/buckets/{bucket_id}/schedules/{schedule_id}/entries.json
todolists/createwritePOST/buckets/{bucket_id}/todosets/{todoset_id}/todolists.json
todos/completewritePOST/buckets/{bucket_id}/todos/{todo_id}/completion.json
todos/createwritePOST/buckets/{bucket_id}/todolists/{todolist_id}/todos.json
chats/listreadGET/chats.json
comments/listreadGET/buckets/{bucket_id}/recordings/{recording_id}/comments.json
documents/listreadGET/buckets/{bucket_id}/vaults/{vault_id}/documents.json
messages/listreadGET/buckets/{bucket_id}/message_boards/{board_id}/messages.json
my/profilereadGET/my/profile.json
people/listreadGET/people.json
projects/listreadGET/projects.json
projects/peoplereadGET/projects/{project_id}/people.json
schedule-entries/listreadGET/buckets/{bucket_id}/schedules/{schedule_id}/entries.json
todolists/listreadGET/buckets/{bucket_id}/todosets/{todoset_id}/todolists.json
todos/listreadGET/buckets/{bucket_id}/todolists/{todolist_id}/todos.json

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.