---
title: "Create Custom Action Card"
method: POST
path: "/custom-action-cards"
tags: ["custom-action-cards"]
---

# Create Custom Action Card

`POST /custom-action-cards`

## Request

- Base URL: `https://dev.whispa.net` (the document declares no server; this is the origin it was published from)
- URL: `https://dev.whispa.net/custom-action-cards`
- Auth: one of:
  - OAuth 2
    - Password
    - Token URL: `auth/bearer/login`
  - API key in cookie `access_token`

Create a custom action card (admin only).

## Request body

- CustomActionCardCreate: Input schema for creating a custom action card.
  - `name` string, required: Unique tool identifier
  - `display_name` string, required: Human-readable name
  - `description` string, required: Card description
  - `category` string, nullable: Category label
  - `input_schema` object: JSON schema used as LLM function parameters
  - `ui_prompt` string, nullable: Prompt describing desired UI and interaction
  - `is_active` boolean: Whether the card is available
  - `component_source` string, nullable: Reviewable generated component source

## Response `201`

Successful Response

- CustomActionCardResponse: Full response for admin management screens.
  - `id` string, uuid, required
  - `name` string, required
  - `display_name` string, required
  - `description` string, required
  - `category` string, nullable, required
  - `input_schema` object, required
  - `ui_prompt` string, nullable, required
  - `component_source` string, nullable, required
  - `is_active` boolean, required
  - `created_by` string, uuid, nullable, required
  - `updated_by` string, uuid, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/whispa/apis/whispa-api.md) - [All operations](https://skmtc.dev/whispa/apis/whispa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/whispa/apis/whispa-api/revisions/12c2e4aca43c?raw)
