# Cardly — how to use (mcp.ai)

Connect your Cardly account and use 29 tools for marketing automation straight from your AI agent. Connect with your own API key. Cardly helps businesses create great engagement with customers by getting out of inboxes and into mailboxes.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_cardly?ms=1787293380000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `cardly_create_contact_list`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/cardly`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/cardly/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/cardly/create/contact/list` — Tool to add a new contact list. Use after defining name and optional custom fields, before populating the list with contacts.
  - body: { name: string, fields?: object[], description?: string }
- `POST https://api.mcp.ai/api/cardly/create/invitation` — Tool to send an invitation to use your organisation portal. Use when you need to grant access to a new user by their email address. If the email already has access, the API will return an appropriate 
  - body: { email: string, lastName?: string, firstName?: string, permissions?: string[] }
- `POST https://api.mcp.ai/api/cardly/create/webhook` — Tool to create a new webhook subscription. Use when you need Cardly to notify your application via HTTP POST for specific events.
  - body: { events: string[], metadata?: object, targetUrl: string, description?: string }
- `POST https://api.mcp.ai/api/cardly/delete/invitation` — Tool to delete an invitation by unique ID, immediately invalidating it for acceptance. Use when you need to revoke a pending invitation using its ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/cardly/delete/invitation/by/email` — Deletes a pending invitation by email address, immediately invalidating it and preventing acceptance. This action is idempotent - deleting a non-existent invitation returns success. Use when you need 
  - body: { email: string }
- `POST https://api.mcp.ai/api/cardly/delete/user` — Tool to delete a user by unique ID, immediately revoking their access to your organisation portal. Use when removing user access is required. Cannot remove users with administrator privileges - attemp
  - body: { id: string }
- `POST https://api.mcp.ai/api/cardly/delete/user/by/email` — Deletes a user by email address, immediately revoking their access to your organisation portal. This action cannot remove users with administrator privileges. Use when you need to revoke user access, 
  - body: { email: string }
- `POST https://api.mcp.ai/api/cardly/delete/webhook` — Tool to delete a webhook. Use after confirming the webhook ID to immediately cease all activity and event subscriptions for that webhook.
  - body: { id: string }
- `POST https://api.mcp.ai/api/cardly/echo/request` — Tool to echo all request parameters, body, and headers for debugging purposes. Use when validating authentication or testing API connectivity without affecting account data.
  - body: { bar?: string[], foo?: string, test?: string }
- `POST https://api.mcp.ai/api/cardly/generate/preview` — Tool to generate a low-quality, watermarked preview document for a card. Use after confirming artwork and template details to estimate costs and delivery.
  - body: { style?: object, sender?: object, artwork: string, messages?: object, shipToMe?: boolean, template?: string, recipient: object, variables?: object, shippingMethod?: string, requestedArrival?: string, purchaseOrderNumber?: string }
- `POST https://api.mcp.ai/api/cardly/get/artwork` — Tool to retrieve information on a specific piece of artwork by its unique ID. Use when you need to fetch detailed artwork data including preview images, media specifications, and metadata. The ID can 
  - body: { id: string }
- `POST https://api.mcp.ai/api/cardly/get/webhook` — Tool to get details on an existing webhook. Use this to retrieve information about a webhook's configuration, including its target URL, subscribed events, status, and metadata.
  - body: { id: string }
- `POST https://api.mcp.ai/api/cardly/list/artwork` — Tool to retrieve the currently available artwork for your organisation. Use when you need to list and paginate artwork items, optionally filtering to only your own artwork.
  - body: { limit?: integer, offset?: integer, ownOnly?: boolean }
- `POST https://api.mcp.ai/api/cardly/list/contact/lists` — Tool to retrieve all active contact lists for your organization. Use when you need to list and paginate contact lists with their custom fields and automation rules.
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/cardly/list/credit/history` — Retrieves the account's credit transaction history showing all credits and debits. Returns a paginated list of balance changes with timestamps, amounts, and descriptions. Use to audit spending, review
  - body: { limit?: integer, offset?: integer, effectiveTime.gt?: string, effectiveTime.lt?: string, effectiveTime.gte?: string, effectiveTime.lte?: string }
- `POST https://api.mcp.ai/api/cardly/list/doodles` — Retrieve your currently available doodles from Cardly. Returns doodle metadata including name and restriction status. Use this to discover available doodle designs before creating cards.
  - body: { organisationOnly?: boolean }
- `POST https://api.mcp.ai/api/cardly/list/fonts` — List available fonts for handwriting and text personalization in Cardly cards. Returns font metadata including name, category, variants, and whether the font supports humanisation. Use this to discove
  - body: { limit?: integer, offset?: integer, organisationOnly?: boolean }
- `POST https://api.mcp.ai/api/cardly/list/gift/credit/history` — Lists gift credit history records for your organization with pagination and optional time-based filtering. Gift credits are promotional credits that can be applied to orders. This action retrieves a h
  - body: { limit?: integer, offset?: integer, effectiveTime.gt?: string, effectiveTime.lt?: string, effectiveTime.gte?: string, effectiveTime.lte?: string }
- `POST https://api.mcp.ai/api/cardly/list/invitations` — Tool to retrieve active invitations for your organisation with optional filters. Use when you need to audit invited users and their statuses before sending new invitations or revoking access.
  - body: { limit?: integer, offset?: integer, expiredOnly?: boolean, acceptedOnly?: boolean, includeAccepted?: boolean }
- `POST https://api.mcp.ai/api/cardly/list/media` — Tool to retrieve the currently available media sizes for product artwork. Use when you need to explore or validate media options before creating artwork.
  - body: { limit?: integer, offset?: integer, organisationOnly?: boolean }
- `POST https://api.mcp.ai/api/cardly/list/orders` — Retrieves a paginated list of orders placed by your organization. Returns detailed order information including customer details, costs, items, shipping info, and delivery tracking. Use optional limit 
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/cardly/list/templates` — Tool to retrieve your currently available templates from Cardly. Use to list and paginate templates for selection in card sends.
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/cardly/list/users` — Tool to retrieve all users associated with your account. Use when you need to list and paginate user accounts.
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/cardly/list/webhooks` — Retrieves all webhooks configured for your organization, including their status, target URLs, subscribed events, and delivery statistics. Use this to audit existing webhooks, monitor their health, or 
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/cardly/list/writing/styles` — Tool to list available writing styles. Use when you need to retrieve writing styles available for handwriting personalization.
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/cardly/retrieve/account/balance` — Tool to retrieve the current account and gift credit balances for your organisation. Use after authenticating to verify available credit before placing orders.
- `POST https://api.mcp.ai/api/cardly/retrieve/order` — Retrieves detailed information about a specific order by its ID. Returns complete order data including customer details, items, costs, delivery information, and tracking details. Use this after obtain
  - body: { id: string }
- `POST https://api.mcp.ai/api/cardly/retrieve/user` — Retrieves detailed information about a specific user account by ID. Returns user profile data including name, email, status, and permissions. Use list_users to get available user IDs first.
  - body: { id: string }
- `POST https://api.mcp.ai/api/cardly/update/webhook` — Tool to update a webhook’s settings, including target URL and events. Use after retrieving existing webhook to apply configuration changes.
  - body: { id: string, events: string[], disabled?: boolean, metadata?: object, targetUrl: string, description?: string }

## Example prompts
- "What can I do in Cardly?"
- "Show me a summary of my Cardly account"

## More
- Page: https://mcp.ai/cardly
- Agent spec (llms.txt): https://mcp.ai/cardly/llms.txt
- Postman collection: https://mcp.ai/cardly/postman.json
