← All action domains

Presence

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

Clear your status

presence.clear_statuswrite

Remove YOUR OWN status line, so your name shows with no status beside it. Acts as the signed-in person, so an API key cannot use it. Sends nothing and costs nothing.

Parameters

No parameters — POST an empty body.

Example

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

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

Resume your notifications

presence.end_do_not_disturbwrite

Turn do not disturb off for YOURSELF, so desktop and phone notifications reach you again immediately. Acts as the signed-in person, so an API key cannot use it.

Parameters

No parameters — POST an empty body.

Example

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

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

Check one person

presence.getread

Fetch one teammate's current state, status line and do-not-disturb window. Answers "is Sam free?" with what was measured rather than with a guess. States are derived from heartbeats the person's browser sent, so they say whether somebody is at a screen — never whether they have read anything. Sends nothing and costs nothing.

Parameters

FieldTypeRequiredDescription
user_idstring (uuid)requiredThe teammate's user id, as returned by team_chat.list_people.

Example

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

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

See who is around

presence.listread

List every teammate in this workspace with their current state — online, away or offline — plus any status they set and whether they have do-not-disturb on. Use it before routing something to a person, or to answer "who is around right now?". States are derived from heartbeats the person's browser sent, so they say whether somebody is at a screen — never whether they have read anything. Sends nothing and costs nothing.

Parameters

No parameters — POST an empty body.

Example

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

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

Show yourself as away

presence.set_availabilitywrite

Mark YOURSELF as away, or hand availability back to the automatic reading of your browser activity. Being away changes what colleagues see, not what reaches you — notifications keep arriving. Acts as the signed-in person, so an API key cannot use it.

Parameters

FieldTypeRequiredDescription
availability"away" | "auto"requiredaway = show as away until you set it back; auto = let heartbeats decide (online while you are using Chirply, away when idle, offline once your tabs are gone).

Example

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

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

Set a status

presence.set_statuswrite

Set YOUR OWN status — the emoji and line teammates see beside your name in Team Chat — with an optional expiry. Changes nothing about what reaches you; to pause notifications use presence.start_do_not_disturb. Acts as the signed-in person, so an API key cannot use it. Sends nothing and costs nothing.

Parameters

FieldTypeRequiredDescription
emojistringoptionalA single emoji shown beside their name, e.g. "\ud83d\udcc5". Optional.
textstringoptionalThe status line itself, e.g. "In a meeting". At most 120 characters.
clear"never" | "30m" | "1h" | "4h" | "today" | "this_week"optionalWhen the status clears itself: never (stays until cleared), 30m, 1h, 4h, today (end of the person's own day), or this_week. Defaults to never.
time_zonestringoptionalIANA time zone used to resolve 'today', 'tomorrow' and 'next_week', e.g. America/Chicago. Defaults to whatever their browser last reported.

Example

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

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

Pause your notifications

presence.start_do_not_disturbwrite

Turn on do not disturb for YOURSELF until a moment you choose. While it is on, Chirply stops sending you desktop and phone notifications — a live incoming call still rings, because it cannot be caught up on later. Nothing is deleted: every message, mention and alert is waiting when you come back. Acts as the signed-in person, so an API key cannot use it.

Parameters

FieldTypeRequiredDescription
duration"30m" | "1h" | "2h" | "4h" | "tomorrow" | "next_week" | … 1 morerequiredHow long notifications stay paused: 30m, 1h, 2h, 4h, tomorrow (8am their local time), next_week (Monday 8am their local time), or manual (until they turn it off).
time_zonestringoptionalIANA time zone used to resolve 'today', 'tomorrow' and 'next_week', e.g. America/Chicago. Defaults to whatever their browser last reported.

Example

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

Over MCP the same operation is the tool presence_start_do_not_disturb 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=presence — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.