# geni crm cards (/cli/crm/cards)



Pipeline cards are the deals or candidates that move through a pipeline. This is a pure verb group with no default action. The `update`, `move`, and `status` verbs accept `--expected-updated-at` for optimistic concurrency; omit it and the CLI fetches the card's current version first (last-write-wins).

## get [#get]

```sh
geni crm cards get card_01HX --field amount
```

Print one card's full detail. `--field <path>` extracts a single dotted-path value.

| Arg / Flag       | Notes                                                  |
| ---------------- | ------------------------------------------------------ |
| `<id>`           | Card id.                                               |
| `--field <path>` | Print one dotted-path value (e.g. `status`, `amount`). |

## create [#create]

```sh
geni crm cards create ppl_01HX --json '{"title":"Acme renewal","amount":50000,"currency":"USD","primaryCompanyId":"cmp_01HX"}'
```

Create a card in a pipeline. `--json` is `{ title, stageId?, ownerMembershipId?, primaryCompanyId?, people?, amount?, currency?, expectedCloseAt?, attributionSourceId?, custom? }`. `attributionSourceId` is a lead source from [`geni crm attribution-sources`](/cli/crm/attribution-sources).

| Arg / Flag      | Notes                           |
| --------------- | ------------------------------- |
| `<pipelineId>`  | Pipeline to create the card in. |
| `--json <body>` | Required. JSON card definition. |

## update [#update]

```sh
geni crm cards update card_01HX --json '{"amount":60000}' --expected-updated-at 2026-06-21T10:00:00Z
```

Edit card fields. `--json` is `{ title?, ownerMembershipId?, primaryCompanyId?, amount?, currency?, expectedCloseAt?, attributionSourceId?, custom? }`. Pass `attributionSourceId: null` to clear the lead source.

| Arg / Flag                   | Notes                                                                  |
| ---------------------------- | ---------------------------------------------------------------------- |
| `<id>`                       | Card id.                                                               |
| `--json <body>`              | Required. JSON fields to change.                                       |
| `--expected-updated-at <ts>` | Optimistic-concurrency token; omit to fetch the current version first. |

## move [#move]

```sh
geni crm cards move card_01HX --stage stg_01HY --position 0
```

Move a card to a different stage.

| Arg / Flag                   | Notes                                                                  |
| ---------------------------- | ---------------------------------------------------------------------- |
| `<id>`                       | Card id.                                                               |
| `--stage <stageId>`          | Required. Target stage id (from `geni crm pipelines get`).             |
| `--position <n>`             | Board position within the target stage.                                |
| `--expected-updated-at <ts>` | Optimistic-concurrency token; omit to fetch the current version first. |

## status [#status]

```sh
geni crm cards status card_01HX --status lost --reason "Chose a competitor"
```

Set a card outcome without moving its stage.

| Arg / Flag                   | Notes                                                                  |
| ---------------------------- | ---------------------------------------------------------------------- |
| `<id>`                       | Card id.                                                               |
| `--status <status>`          | Required. `open`, `won`, or `lost`.                                    |
| `--reason <text>`            | Lost reason (when status is `lost`).                                   |
| `--expected-updated-at <ts>` | Optimistic-concurrency token; omit to fetch the current version first. |

## archive [#archive]

```sh
geni crm cards archive card_01HX
```

Archive a card. The card leaves the board but the record survives — use it whenever the history still matters.

| Arg    | Notes    |
| ------ | -------- |
| `<id>` | Card id. |

## delete [#delete]

```sh
geni crm cards delete card_01HX card_01HY
```

Permanently delete cards, along with their contacts, activity, notes, touchpoints, and linked tasks. There is no undo. The response lists the ids actually removed; ids that match no card in the workspace are reported on stderr.

| Arg        | Notes                         |
| ---------- | ----------------------------- |
| `<ids...>` | Card ids to delete (max 100). |

## add-contact [#add-contact]

```sh
geni crm cards add-contact card_01HX per_01HX
```

Attach a person as a contact on a card.

| Arg          | Notes                |
| ------------ | -------------------- |
| `<cardId>`   | Card id.             |
| `<personId>` | Person id to attach. |

## remove-contact [#remove-contact]

```sh
geni crm cards remove-contact card_01HX per_01HX
```

Remove a contact from a card.

| Arg          | Notes                |
| ------------ | -------------------- |
| `<cardId>`   | Card id.             |
| `<personId>` | Person id to detach. |
