Update profile

Updates specific fields on a profile. Only the fields included in the request body are modified. To update file upload fields, use a multipart/form-data body instead of JSON.

For tags: this endpoint replaces the entire tag list. To add tags without removing existing ones, use PUT /tags/add instead.

When the Canvas integration is enabled, canvas_id and canvas_external_id are also accepted and returned. canvas_external_id is globally unique; once set it cannot be cleared, and changing it triggers an async re-key in Canvas.

Path Parameters
  • profile_id
    Type: string
    required

    Unique identifier of the profile.

Body
application/json
  • canvas_external_id
    Type: string

    Canvas SIS identifier. Globally unique; stripped of whitespace. Cannot be cleared once set. Cannot be changed while a re-key is in progress. Changing the value enqueues an async Canvas re-key job.

  • canvas_id
    Type: string nullable

    Canvas LMS identifier. Free-form string, no uniqueness constraint. Pass null to clear.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for patch/apis/profiles/profiles/{profile_id}
curl https://ff-business-school.fullfabric.cloud/apis/profiles/profiles/507f1f77bcf86cd799439011 \
  --request PATCH \
  --header 'Content-Type: application/json' \
  --header 'FF-Auth: YOUR_SECRET_TOKEN' \
  --data '{
  "canvas_id": "99001",
  "canvas_external_id": "SIS-sophie-001"
}'
{
  "id": "6385bdd4976a7719120108e9",
  "first_name": "Sophie",
  "last_name": "Martin",
  "email": "sophie.martin@example.com",
  "__nationality": "French",
  "__date_of_birth": "1995-03-14",
  "__gender": "Female",
  "__phone": "+44 7700 900123",
  "updated_at": 1776330789,
  "canvas_id": "99001",
  "canvas_external_id": "SIS-sophie-001"
}