---
title: "Create a reengagement card"
method: POST
path: "/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards"
tags: ["AI SDR Knowledge Bases"]
---

# Create a reengagement card

`POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards`

<Info>
  **Beta.** This endpoint is in beta. Behavior, parameters, and response shapes may change without notice.
</Info>

<small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small>

Creates a new reengagement card attached to a knowledge base.

Requires the AI SDR feature on the caller's team.

## Path parameters

- `knowledge_base_id` integer, required

## Request body

- object — Request body for creating a new reengagement card.
  - `name` string, required — Display name of the card
  - `instructions` string, required — Instructions for what the reengagement message should say
  - `sendAfter` integer, required — Number of days after the last contact before this card fires
  - `sampleAnswer` string — Optional sample reengagement message used as a few-shot example
  - `toneOfVoice` 'confident' | 'persuasive' | 'witty' | 'straightforward' | 'empathetic' — Tone applied to generated replies and reengagement messages.
  - `responseLength` 'superShort' | 'short' | 'medium' | 'long' — Target length of generated replies and reengagement messages.
  - `links` string[] — Reference URLs (max 10; each non-empty, max 256 chars)
  - `isEnabled` boolean — Whether the card should be created in the enabled state (defaults to `true` on create)
  - `deliveryMode` 'draft' | 'auto' — How generated reengagement messages for this card are delivered. Defaults to `draft` when omitted.

## Response `201`

Reengagement card created successfully

- object — Detailed representation of a reengagement card.
  - `id` string, uuid — Unique identifier for the reengagement card
  - `name` string — Display name of the card
  - `instructions` string — Instructions for what the reengagement message should say
  - `sampleAnswer` string — Optional sample reengagement message used as a few-shot example
  - `sendAfter` integer — Number of days after the last contact before this card fires
  - `toneOfVoice` 'confident' | 'persuasive' | 'witty' | 'straightforward' | 'empathetic' — Tone applied to generated replies and reengagement messages.
  - `responseLength` 'superShort' | 'short' | 'medium' | 'long' — Target length of generated replies and reengagement messages.
  - `links` string[] — Reference URLs the AI SDR can quote when generating a reengagement message
  - `media` object[] — Media items attached to this card. Managed via the `/media` sub-resource.
    - `id` integer — Unique identifier for the media item
    - `fileName` string — Original name of the uploaded file
    - `size` integer — Size in kilobytes
  - `isEnabled` boolean — Whether the card is currently active
  - `deliveryMode` 'draft' | 'auto' — How generated reengagement messages for this card are delivered
  - `createdAt` string, date-time — Timestamp when the card was created

## Other responses

- `400` — Validation failure
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — AI SDR feature is not available for the caller's team
- `404` — Knowledge base not found
- `502` — Upstream AI SDR service failure

---

[API](https://skmtc.net/reply/apis/reply-api.md) · [All operations](https://skmtc.net/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
