Basecamp API integration with managed OAuth. Manage projects, to-dos, messages, schedules, documents, and team collaboration.
Use this skill when users want to create and manage projects, to-do lists, schedule events, or collaborate with teams in Basecamp.
For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Requires network access and valid Maton API key.
Basecamp API integration with managed OAuth. Manage projects, to-dos, messages, schedules, documents, and team collaboration.
Use this skill when users want to create and manage projects, to-do lists, schedule events, or collaborate with teams in Basecamp.
For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Requires network access and valid Maton API key.
[{"id":46005636,"status":"active","name":"Getting Started","description":"Quickly get up to speed with everything Basecamp","created_at":"2026-02-05T22:59:26.087Z","url":"https://3.basecampapi.com/6153810/projects/46005636.json","dock":[...]}]
Get Project
GET /basecamp/projects/{project_id}.json
The project response includes a dock array with available tools (message_board, todoset, vault, chat, schedule, etc.). Each dock item has:
id: The tool's ID
name: Tool type (e.g., "todoset", "message_board")
enabled: Whether the tool is active
url: Direct URL to access the tool
Create Project
POST /basecamp/projects.json
Content-Type: application/json
{
"name": "New Project",
"description": "Project description"
}
POST /basecamp/buckets/{project_id}/todosets/{todoset_id}/todolists.json
Content-Type: application/json
{
"name": "New Todo List",
"description": "List description"
}
Get Todolist
GET /basecamp/buckets/{project_id}/todolists/{todolist_id}.json
List Todos
GET /basecamp/buckets/{project_id}/todolists/{todolist_id}/todos.json
GET /basecamp/buckets/{project_id}/vaults/{vault_id}.json
List Documents in Vault
GET /basecamp/buckets/{project_id}/vaults/{vault_id}/documents.json
Create Document
POST /basecamp/buckets/{project_id}/vaults/{vault_id}/documents.json
Content-Type: application/json
{
"title": "Document Title",
"content": "<p>Document content with HTML</p>"
}
List Uploads in Vault
GET /basecamp/buckets/{project_id}/vaults/{vault_id}/uploads.json
Campfire (Chat) Operations
List All Campfires
GET /basecamp/chats.json
Get Campfire
GET /basecamp/buckets/{project_id}/chats/{chat_id}.json
List Campfire Lines (Messages)
GET /basecamp/buckets/{project_id}/chats/{chat_id}/lines.json
Create Campfire Line
POST /basecamp/buckets/{project_id}/chats/{chat_id}/lines.json
Content-Type: application/json
{
"content": "Hello from the API!"
}
Comments Operations
List Comments on Recording
GET /basecamp/buckets/{project_id}/recordings/{recording_id}/comments.json
Create Comment
POST /basecamp/buckets/{project_id}/recordings/{recording_id}/comments.json
Content-Type: application/json
{
"content": "<p>Comment text</p>"
}
Recording Status Operations
All content items (todos, messages, documents, etc.) are "recordings" that can be archived or trashed.
Trash Recording
PUT /basecamp/buckets/{project_id}/recordings/{recording_id}/status/trashed.json
Archive Recording
PUT /basecamp/buckets/{project_id}/recordings/{recording_id}/status/archived.json
Unarchive Recording
PUT /basecamp/buckets/{project_id}/recordings/{recording_id}/status/active.json
Templates Operations
List Templates
GET /basecamp/templates.json
Create Project from Template
POST /basecamp/templates/{template_id}/project_constructions.json
Content-Type: application/json
{
"name": "New Project from Template",
"description": "Description"
}
Pagination
Basecamp uses Link header pagination with rel="next":
IMPORTANT: When piping curl output to jq or other commands, environment variables like $MATON_API_KEY may not expand correctly in some shell environments
Error Handling
Status
Meaning
400
Missing Basecamp connection or bad request
401
Invalid or missing Maton API key
404
Resource not found, deleted, or no access
429
Rate limited (check Retry-After header)
507
Account limit reached (e.g., project limit)
5xx
Server error (retry with exponential backoff)
Troubleshooting: API Key Issues
Check that the MATON_API_KEY environment variable is set:
echo$MATON_API_KEY
Verify the API key is valid by listing connections: