← All action domains

Lists

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

Browse runnable actions

lists.action_typesread

List the action types lists.run_actions accepts, with each one's configurable fields. Call this before lists.run_actions so the action config is built with the right keys.

Parameters

No parameters — POST an empty body.

Example

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

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

Add contacts to a list

lists.add_contactswrite

Add one or more existing contacts to a list. Idempotent — a contact already on the list is silently kept, not duplicated. Contact ids that don't belong to this organization are ignored.

Parameters

FieldTypeRequiredDescription
list_idstring (uuid)requiredThe list to add to.
contact_idsarray of (string (uuid))requiredIds of the contacts to add to the list.

Example

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

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

Create a list

lists.createwrite

Create an empty contact list. Only a name is required, and it must be unique within the organization. Add contacts afterwards with lists.add_contacts.

Parameters

FieldTypeRequiredDescription
namestringrequiredThe list's name, e.g. 'Q3 webinar'. Must be unique.
descriptionstringoptionalWhat the list is for. Optional.

Example

curl -X POST https://app.chirply.io/api/v1/actions/lists.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 lists_create at https://app.chirply.io/api/mcp, same bearer token, same input.

Delete a list

lists.deletewriteconfirm

Permanently delete a list and every membership row on it. The contacts themselves are NOT deleted, but the segment is gone and cannot be restored.

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 list to delete.

Example

curl -X POST https://app.chirply.io/api/v1/actions/lists.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 lists_delete at https://app.chirply.io/api/mcp, same bearer token, same input.

Open a list

lists.getread

Fetch one list by id, with its description and current member count.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe list's id.

Example

curl -X POST https://app.chirply.io/api/v1/actions/lists.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 lists_get at https://app.chirply.io/api/mcp, same bearer token, same input.

List lists

lists.listread

List the organization's contact lists with each one's member count. Lists are named STATIC segments — membership is explicit, not a saved filter.

Parameters

FieldTypeRequiredDescription
limitintegeroptionalMax rows to return (1–100). Default: 25
offsetintegeroptionalRows to skip. Default: 0
querystringoptionalText to match in a list's name or description.

Example

curl -X POST https://app.chirply.io/api/v1/actions/lists.list \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "limit": 25,
    "offset": 0
  }'
Test with your API key

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

View list members

lists.membersread

Page through the contacts on a list, newest addition first, with each member's name, email and phone.

Parameters

FieldTypeRequiredDescription
list_idstring (uuid)requiredThe list whose members to read.
limitintegeroptionalMax rows to return (1–100). Default: 25
offsetintegeroptionalRows to skip. Default: 0

Example

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

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

Remove contacts from a list

lists.remove_contactswrite

Remove one or more contacts from a list. This only drops the membership — the contacts themselves are untouched.

Parameters

FieldTypeRequiredDescription
list_idstring (uuid)requiredThe list to remove from.
contact_idsarray of (string (uuid))requiredIds of the contacts to take off the list (up to 500 per call).

Example

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

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

Run actions on a list

lists.run_actionswriteconfirm

Run one or more actions against EVERY contact on a list — the same 'Run actions' bulk surface the app offers. This is a mass send: depending on the actions chosen it texts, emails, drops ringless voicemails, places automated or AI calls, enrolls people into campaigns, emails invoices, or deletes contacts, once per member, immediately and irreversibly, billed through the organization's own Twilio/Mailgun accounts. Pass contact_ids to restrict it to specific members. Confirm the list's exact member count with lists.get before calling. Runs on up to 2,000 members.

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
list_idstring (uuid)requiredThe list whose members the actions run against.
actionsobject[]requiredThe actions to run, in order, on each contact.
actions[].type"send_sms" | "send_email" | "send_review_request" | "add_tag" | "remove_tag" | "add_to_list" | … 29 morerequiredAction type from lists.action_types, e.g. 'send_sms'.
actions[].configmap of string → objectoptionalThe action's settings, keyed by the field keys from lists.action_types. Default: {}
contact_idsarray of (string (uuid))optionalRestrict the run to these members. Omit to run on every contact on the list.

Example

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

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

Edit a list

lists.updatewrite

Rename a list or change its description. Omitted fields are left alone; membership is untouched.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredThe list to edit.
namestringoptionalNew name. Must be unique in the org.
descriptionstring (or null)optionalNew description, or null to clear it.

Example

curl -X POST https://app.chirply.io/api/v1/actions/lists.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 lists_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=lists — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.