Update a manual activity
Edits a manual activity. Only manual activities are editable: a PUT on an activity from an external source (`gmail`, `outlook`, `fireflies`) returns `403 forbidden` — the activity exists and belongs to you, but its source makes it immutable on the v1 surface (`immutable: true`). All body fields are optional; omitted fields are left unchanged. `participants`, when provided, fully replaces the existing list.
PUT
/clients/{clientId}/activities/{activityId}
Authorization
Section titled “Authorization”bearerAuth``
AuthorizationBearer <token>
Salfio API tokens start with the literal prefix sk_live_ followed by 32 base62 characters (≈190 bits of entropy). Tokens are hashed at rest with argon2id and shown to the user only once at creation.
In: header
Path Parameters
Section titled “Path Parameters”clientId*string
Formatuuid
activityId*string
Formatuuid
Request Body
Section titled “Request Body”application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
Section titled “Response Body”application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://api.salfio.com/v1/clients/497f6eca-6276-4993-bfeb-53cbbbba6f08/activities/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'
{
"meta": {
"cursor": "string",
"hasMore": true
},
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
"type": "email",
"source": "manual",
"subject": "string",
"content": "string",
"occurredAt": "2019-08-24T14:15:22Z",
"participants": [
"[email protected]"
],
"immutable": true,
"archivedAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
}
{
"error": {
"code": "invalid_argument",
"message": "limit must be an integer between 1 and 100"
}
}
{
"error": {
"code": "unauthorized",
"message": "Authentication required"
}
}
{
"error": {
"code": "forbidden",
"message": "activity is immutable; only manual activities can be edited"
}
}
{
"error": {
"code": "not_found",
"message": "client not found"
}
}
{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded",
"details": {
"retry_after_seconds": 30
}
}
}