Endpoints:
Steps are returned unpaginated as part of the Get a card endpoint payload.
POST /card_tables/cards/2/steps.jsoncreates a step within the card with ID2.
Required parameters: title of the step.
Optional parameters:
due_on- due date (ISO 8601) of the step.assignee_ids- an array of people IDs that will be assigned to this step. Please see the Get people endpoints to retrieve them.assignees- a comma separated list of people IDs (legacy format, preferassignee_ids).
This endpoint will return 201 Created with the current JSON representation of the step if the creation was a success. See the step property of the Get a card endpoint for more info on the payload.
{
"title": "Inspiration",
"due_on": "2021-01-01",
"assignee_ids": [30068628, 270913789]
}curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"title": "Inspiration", "due_on": "2021-01-01", "assignee_ids": [30068628, 270913789]}' \
https://3.basecampapi.com/$ACCOUNT_ID/card_tables/cards/2/steps.jsonPUT /card_tables/steps/2.jsonallows changing of the step with an ID of2.
Optional parameters:
title- of the card.due_on- due date (ISO 8601) of the step.assignee_ids- an array of people IDs that will be assigned to this step. Please see the Get people endpoints to retrieve them.assignees- a comma separated list of people IDs (legacy format, preferassignee_ids).
This endpoint will return 200 OK with the current JSON representation of the step if the update was a success. See the step property of the Get a card endpoint for more info on the payload.
{
"title": "Updated inspiration"
}curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"title": "Updated inspiration"}' -X PUT \
https://3.basecampapi.com/$ACCOUNT_ID/card_tables/steps/2.jsonPUT /card_tables/steps/2/completions.jsonwill mark the step with an ID of2as completed or uncompleted depending on the completion parameter.
Required parameters:
completion– Set to "on" to mark the step as completed and to "off" to mark the step as uncompleted.
This endpoint will return 200 OK with the current JSON representation of the step if the update was a success. See the step property of the Get a card endpoint for more info on the payload.
{
"completion": "on"
}curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"completion": "on"}' -X PUT \
https://3.basecampapi.com/$ACCOUNT_ID/card_tables/steps/2/completions.jsonPOST /card_tables/cards/2/positions.jsonallows changing the position of the step with an ID ofsource_idin the card with id2.
Required parameters:
source_id– the step id. Step ids can be found via the Get a card endpoint.position– Zero indexed.
This endpoint will return 204 No Content if successful.
{
"source_id": 3,
"position": 4
}curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{"source_id": 3, "position": 4}' -X POST \
https://3.basecampapi.com/$ACCOUNT_ID/card_tables/cards/2/positions.jsonThe following project-scoped routes are still supported and will remain available, but flat routes above are the canonical form for new integrations.
POST /buckets/1/card_tables/cards/2/steps.json→ Create a stepPUT /buckets/1/card_tables/steps/2.json→ Update a stepPUT /buckets/1/card_tables/steps/2/completions.json→ Change step completion statusPOST /buckets/1/card_tables/cards/2/positions.json→ Reposition a step