Student: create registrations and grades in multiple units

Registers a profile on one or more units. If a unit is not yet on the student's transcript, it will be added automatically. If it is already on the transcript but unregistered, the student will be registered. The request body can include initial grade data alongside the registration. Each item in registrations is processed independently — the top-level HTTP status is 200 only when every item succeeds; otherwise the endpoint returns 207 Multi-Status with the per-item outcomes embedded in the response body.

Path Parameters
  • profile_id
    Type: string
    required

    Unique identifier of the profile.

Body
required
application/json
  • registrations
    Type: array object[]
    required

    Array of registration items to create for the profile. Each item creates (or re-uses) a transcript entry for the profile on the given unit and registers the profile against it. Initial grade and state data may be supplied alongside the registration.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/apis/registrations/profiles/{profile_id}/registrations
curl https://ff-business-school.fullfabric.cloud/apis/registrations/profiles/507f1f77bcf86cd799439011/registrations \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'FF-Auth: YOUR_SECRET_TOKEN' \
  --data '{
  "registrations": [
    {
      "unit_id": "6385baad976a7719120008e3",
      "context_id": "6385baad976a7719120008ca",
      "grade_state_name": "pass",
      "grades": [
        {
          "name": "__coursework",
          "value": "78",
          "published": true
        },
        {
          "name": "final",
          "value": "80",
          "published": true
        }
      ]
    },
    {
      "unit_id": "6385baa7976a7719120005dc",
      "context_id": "6385bcf1976a77191200ba5d"
    }
  ]
}'
[
  {
    "status": 200,
    "json": {
      "id": "65e6e5aaf398a642a7022ab5",
      "unit_id": "6385baad976a7719120008e3",
      "course_id": "6385bcf1976a77191200ba5d",
      "transcript_subject_id": "6385bcf1976a77191200ba5d",
      "profile_id": "6385bdd4976a7719120108e9",
      "registration_state": "registered",
      "state_name": "pass",
      "grade_state_name": "pass",
      "awarded": true,
      "published": true,
      "grade_notes": "",
      "grade_feedback": "",
      "grades": [
        {
          "id": "667ae7cb6ab728271421708e",
          "label": "Coursework",
          "name": "__coursework",
          "value": "78",
          "published": true,
          "comment": null,
          "resit_value": null,
          "resit_justification": null
        },
        {
          "id": "6385baad976a7719120008e6",
          "label": "Final grade",
          "name": "final",
          "value": "80",
          "published": true,
          "comment": null,
          "resit_value": null,
          "resit_justification": null
        }
      ],
      "created_at": 1709630890,
      "updated_at": 1712000000
    }
  },
  {
    "status": 200,
    "json": {
      "id": "65e6e5aaf398a642a7022ab6",
      "unit_id": "6385baa7976a7719120005dc",
      "course_id": "6385bcf1976a77191200ba5d",
      "transcript_subject_id": "6385bcf1976a77191200ba5d",
      "profile_id": "6385bdd4976a7719120108e9",
      "registration_state": "registered",
      "state_name": null,
      "grade_state_name": null,
      "awarded": false,
      "published": false,
      "grade_notes": "",
      "grade_feedback": "",
      "grades": [
        {
          "id": "6385baa7976a7719120005df",
          "label": "Final grade",
          "name": "final",
          "value": null,
          "published": false,
          "comment": null,
          "resit_value": null,
          "resit_justification": null
        }
      ],
      "created_at": 1709630895,
      "updated_at": 1709630895
    }
  }
]