Skip to content

Activities

Activities are the interactions your team has with contacts, companies, and projects — calls, emails, meetings, and notes. Each activity is logged on a timeline with structured metadata.

FieldTypeDescription
iduuidUnique identifier of the activity
account_iduuidID of the account that owns this activity
created_byuuid?ID of the user who logged the activity; null if system-generated
activity_typestringType of activity One of: call, email, meeting
entity_iduuidID of the record this activity is attached to
entity_typestringRecord type the entity_id refers to One of: contact, company, project, deal
occurred_atdatetimeWhen the activity occurred (ISO 8601)
metadataobjectType-specific fields keyed per the activity type schema (JSON object)
created_atdatetimeCreation timestamp (ISO 8601)
updated_atdatetimeLast update timestamp (ISO 8601)
created_by_namestringDisplay name of the user who logged the activity
entity_namestringDisplay name of the attached record

Endpoint: activities-create

FieldTypeRequiredDescription
activity_typestringYesType of activity being logged One of: call, email, meeting
entity_idstringNoID of the record this activity is attached to
entity_typestringNoRecord type the entity_id refers to One of: contact, company, project, deal
occurred_atdatetime?NoWhen the activity occurred (ISO 8601); defaults to now if omitted
metadataobjectNoType-specific fields validated against the activity type schema (JSON object)
Terminal window
curl -X POST https://api.driftwoodapp.com/api/activities-create \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"activity_type": "..."}'

Endpoint: activities-delete

FieldTypeRequiredDescription
idstringYesID of the activity to delete
Terminal window
curl -X POST https://api.driftwoodapp.com/api/activities-delete \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "..."}'

Endpoint: activities-get

FieldTypeRequiredDescription
idstringYesID of the activity to retrieve
Terminal window
curl -X POST https://api.driftwoodapp.com/api/activities-get \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "..."}'

Endpoint: activities-list

FieldTypeRequiredDescription
entity_idstring?NoFilter to activities attached to this record ID
entity_typestringNoFilter by record type One of: contact, company, project, deal
typesstring[]NoFilter by one or more activity types One of: call, email, meeting
cursorstringNoOpaque pagination cursor from a previous response
limitintNoMaximum number of activities to return
Terminal window
curl -X POST https://api.driftwoodapp.com/api/activities-list \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'

Endpoint: activities-update

FieldTypeRequiredDescription
idstringYesID of the activity to update
occurred_atdatetime?NoNew occurrence time (ISO 8601); omit to leave unchanged
metadataobject?NoNew type-specific fields validated against the activity type schema; omit to leave unchanged
Terminal window
curl -X POST https://api.driftwoodapp.com/api/activities-update \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id": "..."}'

Endpoint: activity-schemas-list

CodeDescription
activities.invalid_typeInvalid type
activities.entity_requiredEntity required
activities.invalid_entity_typeInvalid entity type
activities.invalid_metadataInvalid metadata
activities.invalid_idInvalid id
activities.not_foundNot found
activities.invalid_entity_idInvalid entity id