---
title: "Log an activity on a contact"
method: POST
path: "/contacts/{id}/activities"
tags: ["Activities"]
---

# Log an activity on a contact

`POST /contacts/{id}/activities`

## Request

- Base URL: `https://www.sagaris.ai/api/v1`
- URL: `https://www.sagaris.ai/api/v1/contacts/{id}/activities`
- Auth: HTTP bearer

Log a manual activity or note on a workspace-owned contact. Only hand-loggable activity types are accepted; the row is stamped metadata.source=public_api. Outbound types advance the contact's last_contacted_at. Requires the activities.write scope.

## Path parameters

- `id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `type` 'note_added' | 'call_made' | 'call_received' | 'voicemail_left' | 'meeting_booked' | 'meeting_completed' | 'sms_sent' | 'linkedin_message', required: A hand-loggable activity type.
  - `subject` string: Required for every type except note_added (where it defaults to "Note").
  - `body` string: Required when type is note_added; optional otherwise.
  - `metadata` object: Optional caller metadata; source and api_key_id are stamped by the server.

## Response `201`

The created activity.

- object
  - `data` Activity, required
    - `id` string
    - `contact_id` string
    - `workspace_id` string
    - `type` string
    - `subject` string, nullable
    - `body` string, nullable
    - `metadata` object
    - `created_at` string, date-time
  - `error` unknown, required

## Other responses

- `400`: Invalid JSON body or field validation failure.
- `401`: Missing, malformed, invalid, revoked, or expired API key.
- `403`: The key does not hold the required scope for this operation.
- `404`: The referenced resource was not found in the key's workspace.
- `429`: Per-key write rate limit exceeded (60 requests / 60s).
- `500`: Lookup, insert, or last-contacted update failure.
- `503`: The database / API-keys table is not provisioned.

---

[API](https://skmtc.dev/sagaris/apis/sagaris-public-api.md) · [All operations](https://skmtc.dev/sagaris/apis/sagaris-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sagaris/apis/sagaris-public-api/revisions/ac70219a7080?raw)
