# API Changelog

Looking for general Eduflow updates? Check out Eduflow's [Canny changelog](https://eduflow.canny.io/changelog) to see our latest activities. For upcoming changes, see our [Roadmap](https://eduflow.canny.io/).

### 2022-06-12

[Quizzes](https://docs.eduflow.com/guides/quizzes) are now available in the QuizActivity data.

### 2022-03-03

[Course](https://docs.eduflow.com/guides/courses) invite links added to `Course.joinUrl`. This returns the link based on sharing settings in the [course participants page](https://docs.eduflow.com/guides/courses).

### 2021-08-27

[Tags](https://docs.eduflow.com/guides/tags) are now available via the `Course.tags` and `Participant.tags` fields and tag operations are available via the `createTag` and `addStudentsToTag` mutations.

{% content-ref url="guides/tags" %}
[tags](https://docs.eduflow.com/guides/tags)
{% endcontent-ref %}

### 2021-07-13

[Discussions](https://docs.eduflow.com/guides/discussions) are now available via [Connections](https://graphql.org/learn/pagination/):

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

```graphql
{
  activity(id: "ae8f3183-0fd0-48e1-b52d-2f455cd78db7") {
    ... on DiscussionActivity {
      title
      topics(first: 2) {
        edges {
          node {
            title
            content
            likesCount
            author {
              name
            }
            commentsCount
            comments {
              edges {
                node {
                  content
                  likesCount
                  repliesCount
                  author {
                    name
                  }
                  replies {
                    edges {
                      node {
                        content
                        author {
                          name
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
    'data': {
        'activity': {
            'topics': {
                'totalCount': 2,
                'edges': [
                    {
                        'node': {
                            'title': 'Topic 2',
                            'content': '<p>Topic 2</p>',
                            'author': {
                                'name': 'Ryan Howard'
                            },
                            'commentsCount': 0,
                            'comments': {
                                'edges': [
                                ]
                            },
                            'likesCount': 0
                        }
                    },
                    {
                        'node': {
                            'title': 'Topic 1',
                            'content': '<p>Topic 1</p>',
                            'author': {
                                'name': 'Ryan Howard'
                            },
                            'likesCount': 2,
                            'commentsCount': 4,
                            'comments': {
                                'edges': [
                                    {
                                        'node': {
                                            'author': {
                                                'name': 'Ryan Howard'
                                            },
                                            'content': '<p>Comment 1</p>',
                                            'likesCount': 2,
                                            'replies': {
                                                'edges': [
                                                    {
                                                        'node': {
                                                            'author': {
                                                                'name': 'Ryan Howard'
                                                            },
                                                            'content': '<p>Reply 1</p>'
                                                        }
                                                    },
                                                    {
                                                        'node': {
                                                            'author': {
                                                                'name': 'Ryan Howard'
                                                            },
                                                            'content': '<p>Reply 2</p>'
                                                        }
                                                    }
                                                ]
                                            },
                                            'repliesCount': 2
                                        }
                                    },
                                    {
                                        'node': {
                                            'author': {
                                                'name': 'Pam Beesley'
                                            },
                                            'content': '<p>Comment 2</p>',
                                            'likesCount': 0,
                                            'replies': {
                                                'edges': [
                                                ]
                                            },
                                            'repliesCount': 0
                                        }
                                    }
                                ]
                            }
                        }
                    }
                ]
            }
        }
    }
}
```

{% endtab %}
{% endtabs %}

### 2020-01-20

[Reviews and reflections](https://docs.eduflow.com/guides/reviews-and-reflections) are now available via [Connections](https://graphql.org/learn/pagination/):

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

```graphql
{
  activity(id: "<activity_id>") {
    ... on ActivityInterface {
      id
      activityInterfaceTitle: title
      activityType
      ... on TeacherReviewActivity {
        reviews(first: 2) {
          pageInfo {
            endCursor
          }
          edges {
            node {
              receivers {
                email
              }
              answers {
                question {
                  id
                }
                textAnswer
              }
            }
          }
        }
      }
    }
  }
}
```

{% endtab %}

{% tab title="Results" %}

```javascript
{
  "data": {
    "activity": {
      "id": "<activity_id>",
      "activityInterfaceTitle": "Flow 1 - Activity 5 - Teacher's Perspective",
      "activityType": "TeacherReview",
      "reviews": {
        "pageInfo": {
          "endCursor": "YXJyYXljb25uZWN0aW9uOjE="
        },
        "edges": [
          {
            "node": {
              "receivers": [
                {
                  "email": "donald@example.com"
                }
              ],
              "answers": [
                {
                  "question": {
                    "id": "397df269-3b17-42fa-bf1d-76ca509c0525"
                  },
                  "textAnswer": "Some awesome answer for a text question"
                },
                {
                  "question": {
                    "id": "43d53089-9577-4312-ac43-2b15ffaa8492"
                  },
                  "textAnswer": null
                },
                {
                  "question": {
                    "id": "760ba06f-26da-4aa4-96bb-7c1fffe1e7a1"
                  },
                  "textAnswer": null
                }
              ]
            }
          },
          {
            "node": {
              "receivers": [
                {
                  "email": null
                }
              ],
              "answers": [
                {
                  "question": {
                    "id": "397df269-3b17-42fa-bf1d-76ca509c0525"
                  },
                  "textAnswer": "Another answer"
                },
                {
                  "question": {
                    "id": "43d53089-9577-4312-ac43-2b15ffaa8492"
                  },
                  "textAnswer": null
                },
                {
                  "question": {
                    "id": "760ba06f-26da-4aa4-96bb-7c1fffe1e7a1"
                  },
                  "textAnswer": null
                }
              ]
            }
          }
        ]
      }
    }
  }
}
```

{% endtab %}
{% endtabs %}
