> For the complete documentation index, see [llms.txt](https://apidocs.d6plus.co.za/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.d6plus.co.za/reference/curriculum+/learner/get-learner-subject-marks.md).

# Get Learner Subject Marks

## Get the subject marks records for a learner

<mark style="color:blue;">`GET`</mark> `https://integrate.d6plus.co.za/api/v1/currplus/learnersubjectmarks/{school_login_id}`

Use this endpoint to fetch the marks for the specified learner, for the specified school.  \
All marks for all terms will be return, for the current d6+ administrative year. \
The results are grouped per term, per subject, for the current administrative year.&#x20;

#### Path Parameters

| Name                                                | Type    | Description                                      |
| --------------------------------------------------- | ------- | ------------------------------------------------ |
| school\_login\_id<mark style="color:red;">\*</mark> | Integer | The login ID of the school to retrieve data from |

#### Query Parameters

| Name                                          | Type    | Description                  |
| --------------------------------------------- | ------- | ---------------------------- |
| learner\_id<mark style="color:red;">\*</mark> | Integer | The ID of a specific learner |

#### Headers

| Name                                              | Type   | Description       |
| ------------------------------------------------- | ------ | ----------------- |
| HTTP-X-USERNAME<mark style="color:red;">\*</mark> | String | As provided by d6 |
| HTTP-X-PASSWORD<mark style="color:red;">\*</mark> | String | As provided by d6 |

{% tabs %}
{% tab title="200 The request was successful." %}

```json
[
    {
        "year": "2023",
        "subject_id": "21",
        "subject_name": "Afrikaans Home Language (Gr 05)",
        "grade_id": "7",
        "grade": "5",
        "terms": [
            {
                "term": "1",
                "mark": "80.00"
            },
            {
                "term": "2",
                "mark": "72.86"
            }
        ]
    },
    {
        "year": "2023",
        "subject_id": "105",
        "subject_name": "English First Additional Language (Gr 05)",
        "grade_id": "7",
        "grade": "5",
        "terms": [
            {
                "term": "1",
                "mark": "70.00"
            },
            {
                "term": "2",
                "mark": "77.14"
            }
        ]
    },
    {
        "year": "2023",
        "subject_id": "314",
        "subject_name": "Life Skills (Gr 05)",
        "grade_id": "7",
        "grade": "5",
        "terms": [
            {
                "term": "1",
                "mark": "60.00"
            },
            {
                "term": "2",
                "mark": "96.00"
            }
        ]
    },
    {
        "year": "2023",
        "subject_id": "327",
        "subject_name": "Mathematics (Gr 05)",
        "grade_id": "7",
        "grade": "5",
        "terms": [
            {
                "term": "1",
                "mark": "75.00"
            },
            {
                "term": "2",
                "mark": "96.00"
            }
        ]
    },
    {
        "year": "2023",
        "subject_id": "355",
        "subject_name": "Natural Sciences and Technology (Gr 05)",
        "grade_id": "7",
        "grade": "5",
        "terms": [
            {
                "term": "1",
                "mark": "65.00"
            },
            {
                "term": "2",
                "mark": "88.33"
            }
        ]
    },
    {
        "year": "2023",
        "subject_id": "533",
        "subject_name": "Social Sciences (Gr 05)",
        "grade_id": "7",
        "grade": "5",
        "terms": [
            {
                "term": "1",
                "mark": "85.00"
            },
            {
                "term": "2",
                "mark": "90.00"
            }
        ]
    }
]
```

{% endtab %}

{% tab title="404: Not Found The resource was not found." %}

```json
{
    "error": "Not found",
    "error_description": "No subject mark records found"
}
```

{% endtab %}

{% tab title="401: Unauthorized The server understood the request, but is refusing it or access is not allowed." %}

```json
{
    "error": "Unauthorized",
    "error_description": "Client access not authorised"
}
```

{% endtab %}

{% tab title="403: Forbidden The server understood the request, but the requested action is not allowed." %}

```json
{
    "error": "Integration not activated",
    "error_description": "Please activate the Curriculum+ API for this client before making this request"
}
```

{% endtab %}

{% tab title="400: Bad Request The server understood the request, but the request is invalid or malformed." %}

```json
{
    "error": "Bad Request",
    "error_description": "Please specify the learner_id request parameter."
}
```

{% endtab %}
{% endtabs %}

## Examples

{% tabs %}
{% tab title="PHP" %}

```php
<?php

const BASE_URL = 'https://integrate.d6plus.co.za/api/v1/currplus/learnersubjectmarks';
const SCHOOL_LOGIN_ID = '1000';
const PARAMS = ['learner_id' => 1];
const API_USERNAME = getenv('API_USERNAME'); // Assuming you have these environment variables set
const API_PASSWORD = getenv('API_PASSWORD');

$curl = curl_init();

$query = http_build_query(PARAMS);

$options = [
    CURLOPT_URL => BASE_URL . '/' . SCHOOL_LOGIN_ID . '?' . $query,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        "HTTP-X-USERNAME: " . API_USERNAME,
        "HTTP-X-PASSWORD: " . API_PASSWORD
    ],
];

curl_setopt_array($curl, $options);

$response = curl_exec($curl);

if (curl_errno($curl)) {
    throw new Exception('Curl error: ' . curl_error($curl));
}

curl_close($curl);

echo $response;
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl --location 'https://integrate.d6plus.co.za/api/v1/currplus/learnersubjectmarks/1000?learner_id=1' \
--header 'HTTP-X-USERNAME: your_username' \
--header 'HTTP-X-PASSWORD: your_password'
```

{% endtab %}
{% endtabs %}
