---
title: "Add a card to a team board"
method: POST
path: "/api/v2/orgs/{orgId}/teams/{teamId}/cards"
tags: ["Teams"]
---

# Add a card to a team board

`POST /api/v2/orgs/{orgId}/teams/{teamId}/cards`

## Request

- Base URL: `https://davinci-app.com`
- URL: `https://davinci-app.com/api/v2/orgs/{orgId}/teams/{teamId}/cards`
- Auth: HTTP bearer

Places a card on the board and records linked history. A new placement
defaults to the backlog and first not-started status. For an existing
placement, an omitted sprint or status preserves its current value; a null
sprint explicitly moves it to the backlog, while a null status also
preserves its current status. If the card's project is not linked, it is
linked automatically only when the caller may add team projects. Entering
an `automatic` status closes an open card. A status with
`assignMoverOnEntry` adds the caller as an assignee if needed; API-key
requests use the key's owning user. Both actions may apply together. No
status ever reopens a card. Destination required fields are enforced
unless explicitly bypassed.

## Headers

- `If-Match` string

## Request body

- AddTeamCardRequest
  - `cardId` string, uuid, required
  - `sprintId` string, uuid, nullable: Omit to preserve an existing placement; null selects the backlog.
  - `statusId` string, uuid, nullable: Omit or use null to default a new placement or preserve an existing one.
  - `expectedHistoryHeadId` string, uuid, nullable: Latest committed card-history row ID; null only before a card has history.
  - `bypassRequiredFields` boolean: Explicitly place the card despite missing destination-status fields.

## Response `201`

Current board placement.

- TeamCardLinkResponse
  - `link` TeamCardLink, required
    - `id` string, uuid, required
    - `card_id` string, uuid, required
    - `team_id` string, uuid, required
    - `sprint_id` string, uuid, nullable, required
    - `status_id` string, uuid, nullable, required
    - `created_at` string, date-time, nullable, required
  - `historyHeadId` string, uuid, nullable, required: Latest committed card-history row ID; null only before a card has history.
  - `historyHeadSequence` string, nullable, required: Globally monotonic card-history sequence.

## Other responses

- `400`: Malformed request parameters or body. Agile requests may return `INVALID_PAGINATION` or `INVALID_IDEMPOTENCY_KEY`.
- `401`: No credential was supplied, or the supplied credential is malformed, expired, or revoked. A credential that is present but unusable is never downgraded to an anonymous request.
- `403`: Authenticated but not authorized. Either the acting user lacks the required resource permission, the key's scope ceiling excludes it, or the endpoint rejects this credential type (`CREDENTIAL_NOT_PERMITTED`).
- `404`: The resource does not exist in the parent named by the path, or is hidden from the caller. Absence and privacy denial are deliberately indistinguishable so project, organization, and private-team existence cannot be probed.
- `409`: The supplied `If-Match`, `expectedHistoryHeadId`, or `expectedHistoryHeadIds` no longer matches committed card history. Error code is `CARD_HISTORY_CONFLICT`; `error.details` includes the expected head, current head and sequence, plus recent card activity. No part of the requested card mutation is applied.
- `422`: The destination status requires card fields that are currently missing. Error code is `CARD_STATUS_FIELDS_REQUIRED`; `error.details` includes `teamId`, `statusId`, `statusName`, and `missingFields`. Supply the fields atomically or explicitly set `bypassRequiredFields=true`.
- `429`: Request rate exceeded, either globally or for this key.
- `500`: Unexpected server error.

## Changes

- **2026-09-24** (v2) `4b520e771e08`: 2 info
  - added the new optional request property `bypassRequiredFields`
  - added the non-success response with the status `422`
- **2026-09-15** (v2) `67c8b8616dbb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/changes/api/v2/orgs/:orgId/teams/:teamId/cards/post.md)

---

[API](https://skmtc.dev/celedon-solutions/apis/davinci-public-api.md) - [All operations](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/celedon-solutions/apis/davinci-public-api/revisions/279218ca2e8d?raw)
