Create profile

Creates a new candidate profile. The first_name, last_name, and email fields are required. If a policy is published for your institution, you must also include the relevant policy acceptance fields.

If a profile with the given email already exists, a 422 error is returned. Custom fields are passed at the top level of the request body using their field name (e.g. __nationality, __gmat_score). See the profile schema endpoint for a full list of available fields and their types.

When the Canvas integration is enabled and OAuth authenticated, canvas_id and canvas_external_id may be included on create and are returned in the response. canvas_external_id is globally unique; once set it cannot be cleared, and changing it triggers an async re-key in Canvas. Requests that include canvas fields when the integration is unavailable return 422 with "Canvas integration is not available".

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 post/apis/profiles/profiles
curl https://ff-business-school.fullfabric.cloud/apis/profiles/profiles \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'FF-Auth: YOUR_SECRET_TOKEN' \
  --data '{
  "canvas_id": "99001",
  "canvas_external_id": "SIS-sophie-001"
}'
{
  "id": "69e0a8239a52af33ee4f1de0",
  "first_name": "James",
  "middle_name": null,
  "last_name": "Chen",
  "email": "james.chen@example.com",
  "photo": {},
  "contracts": [],
  "diplomas": [],
  "tags": [],
  "roles": [
    {
      "id": "69e0a8239a52af33ee4f1dec",
      "withdrawn": false,
      "state": "prospect",
      "substate": "cold",
      "state_and_substate": "prospect::cold",
      "potential": "unknown",
      "context_id": "6385ba98976a771912000002",
      "context_type": "Institutions::Institution",
      "campus_id": null,
      "owner_id": null
    }
  ],
  "activated_at": null,
  "last_seen": null,
  "created_at": 1776330787,
  "updated_at": 1776330787,
  "source_category": null,
  "source_method": "Api",
  "canvas_id": "99001",
  "canvas_external_id": "SIS-sophie-001"
}