6 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.
Get a digital card
cards.get_cardread
Returns a digital business card and its share links (public page + vCard). Defaults to the calling user's own card; pass user_id for a specific teammate, slug for a card by its public URL segment, or ble_code after discovering a nearby digital business card over Bluetooth.
Parameters
Field
Type
Required
Description
user_id
string (uuid) (or null)
optional
Whose card to fetch. Defaults to the caller.
slug
string (or null)
optional
Fetch by the card's public slug (…/card/<slug>) instead.
ble_code
string (or null)
optional
Resolve the four-character nearby-share code received from a business-card BLE advertisement.
Over MCP the same operation is the tool cards_get_card at https://app.chirply.io/api/mcp, same bearer token, same input.
Save a shared card to contacts
cards.import_cardwrite
Saves someone's published digital business card (by its public slug) into this account's CRM as a contact. If the person is already a contact (matched by phone/email) they're linked, not duplicated.
Also answers to import digital card, receive business card.
Parameters
Field
Type
Required
Description
slug
string
required
The card's public slug — the last segment of its /card/<slug> URL.
Over MCP the same operation is the tool cards_list_cards at https://app.chirply.io/api/mcp, same bearer token, same input.
Save my digital card
cards.save_cardwrite
Creates or updates a person's digital business card (name, title, company, phones, emails, website, socials, bio, theme) and can publish or unpublish it. Publishing makes it world-readable at its public URL. Defaults to the calling user's card; an API key must pass user_id.
Also answers to edit digital card, publish business card, update my card.
Parameters
Field
Type
Required
Description
user_id
string (uuid) (or null)
optional
Whose card to save. Defaults to the caller; required for API keys.
display_name
string (or null)
optional
The person's full name as shown on the card.
title
string (or null)
optional
Job title / role.
company
string (or null)
optional
Company or organization.
phone
string (or null)
optional
Primary phone number.
email
string (or null)
optional
Primary email address.
phones
object[] (or null)
optional
Additional phone numbers, each optionally labelled.
phones[].label
string (or null)
optional
Optional label, e.g. 'Mobile' or 'Office'.
phones[].value
string
required
The phone number or email address.
emails
object[] (or null)
optional
Additional email addresses, each optionally labelled.
emails[].label
string (or null)
optional
Optional label, e.g. 'Mobile' or 'Office'.
emails[].value
string
required
The phone number or email address.
website
string (or null)
optional
Website URL.
address
object (or null)
optional
Postal address read off the card, if there was one.
address.line1
string (or null)
optional
Street address.
address.line2
string (or null)
optional
Suite/unit (optional).
address.city
string (or null)
optional
City.
address.state
string (or null)
optional
State/region.
address.postal_code
string (or null)
optional
ZIP/postal code.
address.country
string (or null)
optional
Country.
headline
string (or null)
optional
A short tagline shown under the name.
bio
string (or null)
optional
A longer bio/about paragraph.
socials
object[] (or null)
optional
Social/contact buttons shown on the card.
socials[].network
string
required
Which network: website, linkedin, x, instagram, facebook, youtube, tiktok, whatsapp, calendly, github, or other.
socials[].url
string
required
The full URL to that profile or link.
avatar_url
string (or null)
optional
Public URL of the profile photo shown on the card.
cover_url
string (or null)
optional
Public URL of the cover/banner image behind the header.
Over MCP the same operation is the tool cards_save_card at https://app.chirply.io/api/mcp, same bearer token, same input.
Scan a business card
cards.scanwriteconfirm
Reads a photo of a physical business card with AI vision and saves the details as a CRM contact — creating a new contact, or updating the one it matches by phone/email — with the card's front (and optional back) images attached. Uses this account's own OpenRouter/AI key, so the AI cost is billed to the account. Images are supplied as a data URL (data:image/jpeg;base64,…) or an https image URL. AN https IMAGE URL IS FETCHED FROM OUR SERVERS and handed to the vision provider, so everything in it — host, path, query string — is disclosed to whoever operates that address. That, and the AI spend, is why it asks for confirmation.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Also answers to scan business card, read business card, card to contact.
Parameters
Field
Type
Required
Description
image_front
string
required
The FRONT of the card — a data URL (data:image/...;base64,...) or an https image URL that our servers will fetch directly.
image_back
string (or null)
optional
Optional BACK of the same card, same format as image_front.
contact_id
string (uuid) (or null)
optional
Attach the card to this existing contact instead of matching/creating.
create_new
boolean
optional
Force creating a new contact even if one already matches the card's phone/email. Default: false
Over MCP the same operation is the tool cards_scan at https://app.chirply.io/api/mcp, same bearer token, same input.
Upload card image
cards.upload_card_assetwrite
Upload a profile photo or cover/banner image for a digital business card. Stores the image permanently in the account's own R2 storage (up to 10 MB, which can incur storage and egress cost) and returns its public URL — pass that URL as avatar_url or cover_url on cards.save_card to actually attach it to a card. This call alone does not change any card.
Also answers to upload card photo, upload card avatar, upload card cover.
Parameters
Field
Type
Required
Description
kind
"avatar" | "cover"
required
Which image this is: the profile photo, or the cover/banner image.
content_base64
string
required
Image bytes encoded as base64, without a data-URL prefix.