Message Types
February 27, 2026 ยท View on GitHub
Endpoints:
- Get message types
- Get a message type
- Create a message type
- Update a message type
- Destroy a message type
Get message types
GET /buckets/1/categories.jsonwill return a list of all the message types in the project with an ID of1.
Example JSON Response
[
{
"id": 823758568,
"name": "Announcement",
"icon": "๐ข",
"created_at": "2026-02-12T06:09:34.617Z",
"updated_at": "2026-02-12T06:09:34.617Z"
},
{
"id": 823758569,
"name": "FYI",
"icon": "โจ",
"created_at": "2026-02-12T06:09:34.619Z",
"updated_at": "2026-02-12T06:09:34.619Z"
}
]
Copy as cURL
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" https://3.basecampapi.com/$ACCOUNT_ID/buckets/1/categories.json
Get a message type
GET /buckets/1/categories/2.jsonwill return the message type with ID2in the project with an ID of1.
Example JSON Response
{
"id": 823758568,
"name": "Announcement",
"icon": "๐ข",
"created_at": "2026-02-12T06:09:34.617Z",
"updated_at": "2026-02-12T06:09:34.617Z"
}
Copy as cURL
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" https://3.basecampapi.com/$ACCOUNT_ID/buckets/1/categories/2.json
Create a message type
POST /buckets/1/categories.jsoncreates a new message type in the project with an ID of1.
Required parameters: name and icon for the new message type.
This endpoint will return 201 Created with the current JSON representation of the message type if the creation was a success. See the Get a message type endpoint for more info on the payload.
Example JSON Request
{
"name": "Announcement",
"icon": "๐ข"
}
Copy as cURL
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Announcement","icon": "๐ข"}' \
https://3.basecampapi.com/$ACCOUNT_ID/buckets/1/categories.json
Update a message type
PUT /buckets/1/categories/2.jsonallows changing the message type with an ID of2in the project with an ID of1.
This endpoint will return 200 OK with the current JSON representation of the message type if the update was a success. See the Get a message type endpoint for more info on the payload.
Example JSON Request
{
"name": "Quick Update",
"icon": "๐ข"
}
Copy as cURL
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"name":"Quick Update","icon":"๐ข"}' -X PUT \
https://3.basecampapi.com/$ACCOUNT_ID/buckets/1/categories/2.json
Destroy a message type
DELETE /buckets/1/categories/2.jsonwill delete the message type with an ID of2in the project with an ID of1.
No parameters required. Returns 204 No Content if successful.
Copy as cURL
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" -X DELETE \
https://3.basecampapi.com/$ACCOUNT_ID/buckets/1/categories/2.json