← All action domains

Email signatures

8 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.

Create signature

email_signatures.createwrite

Create an email signature and render it. Nothing is sent — but the FIRST signature in a scope automatically becomes that scope's default, so an account signature created here starts appending to outbound email from the next send. Image URLs (logo, portrait, banner) must be publicly reachable: mail clients fetch them directly and a login-protected URL shows as a broken image in every inbox.

Parameters

FieldTypeRequiredDescription
namestringrequiredInternal name for the signature. Only teammates see it.
scope"personal" | "workspace"optionalpersonal = only this caller's own signature. account = shared by everyone in the org and used as its fallback; requires an owner/admin. API keys act as owner. Default: "personal"
template"showcase" | "aurora" | "card" | "sidebar" | "stack" | "compact" | … 1 moreoptionalLayout. showcase = bordered card with a social rail down the left edge and the portrait framed right; aurora = portrait left with an accent rule; card = bordered business-card style; sidebar = portrait on a filled accent panel; stack = logo above a details column; compact = two dense lines; minimal = text only, no images. Default: "aurora"
is_defaultbooleanoptionalMake this the default in its scope, demoting whichever signature currently holds that role. Default: false
enabledbooleanoptionalfalse keeps the design but stops it being appended. Default: true
email_identity_idstring (uuid) (or null)optionalPin the signature to one account sending address, so anything sent from that address uses it whoever wrote the message. Outranks both defaults. Only one signature may be pinned to an address.
full_namestringoptionalName shown at the top of the signature, e.g. Jordan Reyes.
job_titlestringoptionalRole line under the name, e.g. Head of Partnerships.
companystringoptionalCompany name, shown in the accent colour.
departmentstringoptionalTeam or department, shown beside the job title.
emailstringoptionalContact email address. Rendered as a mailto: link.
phonestringoptionalOffice phone, in whatever format you want displayed.
mobilestringoptionalMobile phone, in whatever format you want displayed.
websitestringoptionalWebsite. A bare host like acme.com is turned into https://acme.com.
addressstringoptionalPostal address, on one line.
disclaimerstringoptionalSmall print under the signature — confidentiality notices, registration numbers.
cta_labelstringoptionalText on the call-to-action button. Needs cta_url to render.
cta_urlstringoptionalWhere the call-to-action button goes. Needs cta_label to render.
banner_image_urlstringoptionalPublic URL of a wide banner image shown under the signature.
banner_urlstringoptionalWhere clicking the banner goes.
logo_urlstringoptionalPublic URL of the company logo. Must be reachable without a login — mail clients fetch it directly.
photo_urlstringoptionalPublic URL of the portrait actually shown. This is the animated GIF when the designer made one; set it directly only if you are hosting your own image.
photo_source_urlstringoptionalPublic URL of the original un-animated photo, kept so the designer can re-render the animation later.
photo_shape"circle" | "rounded" | "square" | "shards"optionalFrame around the portrait. 'shards' cuts the photo into offset diagonal blades with gaps between them — baked into the image, so it needs the designer to regenerate the portrait rather than just setting this field.
animation"none" | "kenburns" | "slices" | "shimmer" | "reveal" | "pulse"optionalWhich movement the portrait was built with. Descriptive only on this path — the moving image itself is produced in the designer and referenced by photo_url; setting this alone does not animate anything.
verifiedbooleanoptionalShow a blue verified check beside the name. Decorative only — nothing is verified.
accent_colorstringoptionalBrand colour as #rrggbb. Used for the company line, links, rules and the CTA button.
text_colorstringoptionalBody text colour as #rrggbb.
socialsobject[]optionalSocial links, rendered as a row of small icons. Replaces the whole list when supplied.
socials[].network"linkedin" | "x" | "facebook" | "instagram" | "youtube" | "tiktok" | … 4 morerequiredWhich network this link is for. Picks the icon.
socials[].urlstringrequiredFull https URL of the profile or page.

Example

curl -X POST https://app.chirply.io/api/v1/actions/email_signatures.create \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Example"
  }'
Test with your API key

Over MCP the same operation is the tool email_signatures_create at https://app.chirply.io/api/mcp, same bearer token, same input.

Delete signature

email_signatures.deletewriteconfirm

Permanently delete a signature. This cannot be undone. Email already sent keeps the signature it went out with; new email stops using this one, and if it was a default the oldest remaining signature in that scope takes over.

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.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe signature to delete.

Example

curl -X POST https://app.chirply.io/api/v1/actions/email_signatures.delete \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool email_signatures_delete at https://app.chirply.io/api/mcp, same bearer token, same input.

Open a signature

email_signatures.getread

Fetch one signature by id, with its fields and the exact HTML and plain text it appends to an email.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe signature's id.

Example

curl -X POST https://app.chirply.io/api/v1/actions/email_signatures.get \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool email_signatures_get at https://app.chirply.io/api/mcp, same bearer token, same input.

List signatures

email_signatures.listread

List every email signature in the account — shared ones and each teammate's own — with the rendered HTML each would append. Reads only.

Parameters

FieldTypeRequiredDescription
scope"personal" | "workspace"optionalOnly signatures of this kind. Omit for all of them.

Example

curl -X POST https://app.chirply.io/api/v1/actions/email_signatures.list \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "scope": "personal"
  }'
Test with your API key

Over MCP the same operation is the tool email_signatures_list at https://app.chirply.io/api/mcp, same bearer token, same input.

Preview a signature

email_signatures.previewread

Render signature HTML and plain text from a set of fields WITHOUT saving anything. Use it to check a layout before creating a signature, or to produce markup to paste into Gmail, Outlook or Apple Mail. Changes nothing and sends nothing.

Parameters

FieldTypeRequiredDescription
template"showcase" | "aurora" | "card" | "sidebar" | "stack" | "compact" | … 1 moreoptionalLayout. showcase = bordered card with a social rail down the left edge and the portrait framed right; aurora = portrait left with an accent rule; card = bordered business-card style; sidebar = portrait on a filled accent panel; stack = logo above a details column; compact = two dense lines; minimal = text only, no images. Default: "aurora"
full_namestringoptionalName shown at the top of the signature, e.g. Jordan Reyes.
job_titlestringoptionalRole line under the name, e.g. Head of Partnerships.
companystringoptionalCompany name, shown in the accent colour.
departmentstringoptionalTeam or department, shown beside the job title.
emailstringoptionalContact email address. Rendered as a mailto: link.
phonestringoptionalOffice phone, in whatever format you want displayed.
mobilestringoptionalMobile phone, in whatever format you want displayed.
websitestringoptionalWebsite. A bare host like acme.com is turned into https://acme.com.
addressstringoptionalPostal address, on one line.
disclaimerstringoptionalSmall print under the signature — confidentiality notices, registration numbers.
cta_labelstringoptionalText on the call-to-action button. Needs cta_url to render.
cta_urlstringoptionalWhere the call-to-action button goes. Needs cta_label to render.
banner_image_urlstringoptionalPublic URL of a wide banner image shown under the signature.
banner_urlstringoptionalWhere clicking the banner goes.
logo_urlstringoptionalPublic URL of the company logo. Must be reachable without a login — mail clients fetch it directly.
photo_urlstringoptionalPublic URL of the portrait actually shown. This is the animated GIF when the designer made one; set it directly only if you are hosting your own image.
photo_source_urlstringoptionalPublic URL of the original un-animated photo, kept so the designer can re-render the animation later.
photo_shape"circle" | "rounded" | "square" | "shards"optionalFrame around the portrait. 'shards' cuts the photo into offset diagonal blades with gaps between them — baked into the image, so it needs the designer to regenerate the portrait rather than just setting this field.
animation"none" | "kenburns" | "slices" | "shimmer" | "reveal" | "pulse"optionalWhich movement the portrait was built with. Descriptive only on this path — the moving image itself is produced in the designer and referenced by photo_url; setting this alone does not animate anything.
verifiedbooleanoptionalShow a blue verified check beside the name. Decorative only — nothing is verified.
accent_colorstringoptionalBrand colour as #rrggbb. Used for the company line, links, rules and the CTA button.
text_colorstringoptionalBody text colour as #rrggbb.
socialsobject[]optionalSocial links, rendered as a row of small icons. Replaces the whole list when supplied.
socials[].network"linkedin" | "x" | "facebook" | "instagram" | "youtube" | "tiktok" | … 4 morerequiredWhich network this link is for. Picks the icon.
socials[].urlstringrequiredFull https URL of the profile or page.

Example

curl -X POST https://app.chirply.io/api/v1/actions/email_signatures.preview \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "showcase",
    "full_name": "Example"
  }'
Test with your API key

Over MCP the same operation is the tool email_signatures_preview at https://app.chirply.io/api/mcp, same bearer token, same input.

Sign my email automatically

email_signatures.set_auto_appendwrite

Turn automatic signature signing on or off for the CALLING USER — the same switch as “Sign my email automatically” in the signature designer. On, their signature is appended to one-to-one email they send from the inbox; off, their email goes out unsigned unless a message opts in. Affects only this user's own future sends and changes what those recipients see; it sends nothing itself, and other teammates' settings and the signatures themselves are untouched.

Parameters

FieldTypeRequiredDescription
enabledbooleanrequiredtrue appends the caller's signature to the email they send; false stops appending it.

Example

curl -X POST https://app.chirply.io/api/v1/actions/email_signatures.set_auto_append \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true
  }'
Test with your API key

Over MCP the same operation is the tool email_signatures_set_auto_append at https://app.chirply.io/api/mcp, same bearer token, same input.

Make default

email_signatures.set_defaultwrite

Make one signature the default within its own scope, demoting the current default there. An account default is what signs email from anyone who has not made their own, so this changes what recipients see on the next send.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe signature to promote.

Example

curl -X POST https://app.chirply.io/api/v1/actions/email_signatures.set_default \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool email_signatures_set_default at https://app.chirply.io/api/mcp, same bearer token, same input.

Save changes

email_signatures.updatewrite

Update an existing signature and re-render it. Omitted fields are left alone, except socials, which replaces the whole list when supplied. Sends nothing — but this signature is appended to email from the next send onwards, so a change here changes what recipients see.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe signature to edit.
namestringoptionalInternal name for the signature. Only teammates see it.
scope"personal" | "workspace"optionalMove the signature between personal and account ownership.
template"showcase" | "aurora" | "card" | "sidebar" | "stack" | "compact" | … 1 moreoptionalLayout. showcase = bordered card with a social rail down the left edge and the portrait framed right; aurora = portrait left with an accent rule; card = bordered business-card style; sidebar = portrait on a filled accent panel; stack = logo above a details column; compact = two dense lines; minimal = text only, no images.
is_defaultbooleanoptionalMake this the default in its scope, demoting whichever signature currently holds that role.
enabledbooleanoptionalfalse keeps the design but stops it being appended.
email_identity_idstring (uuid) (or null)optionalPin to one sending address, or null to unpin. Only one signature may be pinned to an address.
full_namestringoptionalName shown at the top of the signature, e.g. Jordan Reyes.
job_titlestringoptionalRole line under the name, e.g. Head of Partnerships.
companystringoptionalCompany name, shown in the accent colour.
departmentstringoptionalTeam or department, shown beside the job title.
emailstringoptionalContact email address. Rendered as a mailto: link.
phonestringoptionalOffice phone, in whatever format you want displayed.
mobilestringoptionalMobile phone, in whatever format you want displayed.
websitestringoptionalWebsite. A bare host like acme.com is turned into https://acme.com.
addressstringoptionalPostal address, on one line.
disclaimerstringoptionalSmall print under the signature — confidentiality notices, registration numbers.
cta_labelstringoptionalText on the call-to-action button. Needs cta_url to render.
cta_urlstringoptionalWhere the call-to-action button goes. Needs cta_label to render.
banner_image_urlstringoptionalPublic URL of a wide banner image shown under the signature.
banner_urlstringoptionalWhere clicking the banner goes.
logo_urlstringoptionalPublic URL of the company logo. Must be reachable without a login — mail clients fetch it directly.
photo_urlstringoptionalPublic URL of the portrait actually shown. This is the animated GIF when the designer made one; set it directly only if you are hosting your own image.
photo_source_urlstringoptionalPublic URL of the original un-animated photo, kept so the designer can re-render the animation later.
photo_shape"circle" | "rounded" | "square" | "shards"optionalFrame around the portrait. 'shards' cuts the photo into offset diagonal blades with gaps between them — baked into the image, so it needs the designer to regenerate the portrait rather than just setting this field.
animation"none" | "kenburns" | "slices" | "shimmer" | "reveal" | "pulse"optionalWhich movement the portrait was built with. Descriptive only on this path — the moving image itself is produced in the designer and referenced by photo_url; setting this alone does not animate anything.
verifiedbooleanoptionalShow a blue verified check beside the name. Decorative only — nothing is verified.
accent_colorstringoptionalBrand colour as #rrggbb. Used for the company line, links, rules and the CTA button.
text_colorstringoptionalBody text colour as #rrggbb.
socialsobject[]optionalSocial links, rendered as a row of small icons. Replaces the whole list when supplied.
socials[].network"linkedin" | "x" | "facebook" | "instagram" | "youtube" | "tiktok" | … 4 morerequiredWhich network this link is for. Picks the icon.
socials[].urlstringrequiredFull https URL of the profile or page.

Example

curl -X POST https://app.chirply.io/api/v1/actions/email_signatures.update \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool email_signatures_update at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=email_signatures — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.