Student: update registrations and grades in multiple units

Updates one or more existing registrations for a specific profile. Provide grade values, grade state, and publication flags in the request body. 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. Items that target a unit/context the profile has no registration on fail with a per-item 404 rather than creating a new registration; use POST for that.

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 update for the profile. Each item targets an existing registration of the profile on the given unit and within the given context; if no such registration exists, the item fails with a per-item 404.

Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for patch/apis/registrations/profiles/{profile_id}/registrations
curl https://ff-business-school.fullfabric.cloud/apis/registrations/profiles/507f1f77bcf86cd799439011/registrations \
  --request PATCH \
  --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": "82",
          "published": true
        },
        {
          "name": "final",
          "value": "85",
          "published": true
        }
      ]
    },
    {
      "unit_id": "6385baa7976a7719120005dc",
      "context_id": "6385bcf1976a77191200ba5d",
      "grades": [
        {
          "name": "final",
          "value": "74",
          "published": false
        }
      ]
    }
  ]
}'
[
  {
    "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": "82",
          "published": true,
          "comment": null,
          "resit_value": null,
          "resit_justification": null
        },
        {
          "id": "6385baad976a7719120008e6",
          "label": "Final grade",
          "name": "final",
          "value": "85",
          "published": true,
          "comment": null,
          "resit_value": null,
          "resit_justification": null
        }
      ],
      "created_at": 1709630890,
      "updated_at": 1712100000
    }
  },
  {
    "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": "74",
          "published": false,
          "comment": null,
          "resit_value": null,
          "resit_justification": null
        }
      ],
      "created_at": 1709630895,
      "updated_at": 1712100000
    }
  }
]