Skip to main content
Basecamp logo

Basecamp

Manage Basecamp 3: projects, to-dos, messages, schedules, documents, people. Exposes 44 actions covering the full API surface the agent needs - read and write.

What it can do

MethodWhat it does
basecamp_list_projectsList projects - GET /projects.json.
basecamp_get_projectGet one project - GET /projects/{id}.json.
basecamp_create_projectCreate a project - POST /projects.json.
basecamp_update_projectUpdate a project - PUT /projects/{id}.json.
basecamp_archive_projectArchive a project - PUT /projects/{id}/archive.json.
basecamp_unarchive_projectUnarchive a project - PUT /projects/{id}/unarchive.json.
basecamp_list_todosetsList to-do sets in a project - GET /projects/{project_id}/todosetsimpleLists.json.
basecamp_get_todosetGet one to-do set - GET /projects/{project_id}/todosets/{id}.json.
basecamp_create_todosetCreate a to-do set - POST /projects/{project_id}/todosets.json.
basecamp_update_todosetUpdate a to-do set - PUT /projects/{project_id}/todosets/{id}.json.
basecamp_list_todolistsList to-do lists in a to-do set - GET /projects/{project_id}/todosets/{todoset_id}/todolists.json.
basecamp_get_todolistGet one to-do list - GET /projects/{project_id}/todolists/{id}.json.
basecamp_create_todolistCreate a to-do list - POST /projects/{project_id}/todosets/{todoset_id}/todolists.json.
basecamp_update_todolistUpdate a to-do list - PUT /projects/{project_id}/todolists/{id}.json.
basecamp_list_todosList to-dos in a to-do list - GET /projects/{project_id}/todolists/{todolist_id}/todos.json.
basecamp_list_todos_assignedList assigned to-dos (across all projects) - GET /my/todos.json.
basecamp_get_todoGet one to-do - GET /projects/{project_id}/todos/{id}.json.
basecamp_create_todoCreate a to-do - POST /projects/{project_id}/todolists/{todolist_id}/todos.json.
basecamp_update_todoUpdate a to-do - PUT /projects/{project_id}/todos/{id}.json.
basecamp_complete_todoMark a to-do as completed - PUT /projects/{project_id}/todos/{id}/completion.json.
basecamp_uncomplete_todoMark a to-do as incomplete - DELETE /projects/{project_id}/todos/{id}/completion.json.
basecamp_list_messagesList messages in a project - GET /projects/{project_id}/messages.json.
basecamp_get_messageGet one message - GET /projects/{project_id}/messages/{id}.json.
basecamp_create_messageCreate a message (discussion post) - POST /projects/{project_id}/messages.json.
basecamp_update_messageUpdate a message - PUT /projects/{project_id}/messages/{id}.json.
basecamp_list_commentsList comments on an object (message, to-do, document, etc.) - GET /projects/{project_id}/{parent_id}/comments.json.
basecamp_get_commentGet one comment - GET /projects/{project_id}/comments/{id}.json.
basecamp_create_commentCreate a comment on an object - POST /projects/{project_id}/{parent_id}/comments.json.
basecamp_update_commentUpdate a comment - PUT /projects/{project_id}/comments/{id}.json.
basecamp_list_peopleList people with access to a project - GET /projects/{project_id}/people.json.
basecamp_get_personGet one person - GET /people/{id}.json.
basecamp_list_schedulesList schedules (calendars) in a project - GET /projects/{project_id}/schedules.json.
basecamp_get_scheduleGet one schedule - GET /projects/{project_id}/schedules/{id}.json.
basecamp_list_schedule_entriesList schedule entries (events) in a calendar - GET /projects/{project_id}/schedules/{schedule_id}/entries.json.
basecamp_get_schedule_entryGet one schedule entry (event) - GET /projects/{project_id}/schedules/{schedule_id}/entries/{id}.json.
basecamp_create_schedule_entryCreate a schedule entry (event) - POST /projects/{project_id}/schedules/{schedule_id}/entries.json.
basecamp_update_schedule_entryUpdate a schedule entry - PUT /projects/{project_id}/schedule_entries/{id}.json.
basecamp_list_documentsList documents in a project - GET /projects/{project_id}/documents.json.
basecamp_get_documentGet one document - GET /projects/{project_id}/documents/{id}.json.
basecamp_create_documentCreate a document - POST /projects/{project_id}/documents.json.
basecamp_update_documentUpdate a document - PUT /projects/{project_id}/documents/{id}.json.
basecamp_list_vaultsList document vaults in a project - GET /projects/{project_id}/vaults.json.
basecamp_list_filesList files in a project - GET /projects/{project_id}/files.json.
basecamp_get_fileGet one file - GET /projects/{project_id}/files/{id}.json.

How to get credentials

This connector uses OAuth 2.0. In FlyMyAI, open the tool and click Connect - you'll be redirected to Basecamp to authorize, then back to FlyMyAI. There is no API key to paste.

The OAuth app must be registered by FlyMyAI for this provider. If you see "connection not configured", the provider's client credentials are still being set up - check back shortly.

Fields to fill in FlyMyAI

FlyMyAI fieldWhere it comes from
(none)Connect via OAuth - nothing to paste.

Troubleshooting

  • 401 Unauthorized / 403 Forbidden - the OAuth connection expired or was revoked - reconnect.
  • 429 Too Many Requests - you hit the provider rate limit; retry after a short backoff.
  • Unexpected 4xx on writes - double-check required fields; the agent confirms before write actions.
We love our partners - FlyMy.AI builds with the best. Thanks, Basecamp!