Skip to content
Josh Heng edited this page Sep 7, 2023 · 2 revisions

Tasks

API v2 - List Tasks

Allows for easy sorting and returns the task information without needing to do another API request - used on the website, and not on the app

Request

POST request to /api/v2/taskListing/view/student/tasks/all/filterBy?ffauth_device_id={ device_id }&ffauth_secret={ secret }

{
  "archiveStatus": "All",
  "completionStatus": "Todo",
  "ownerType": "OnlySetters",
  "page": 0,
  "pageSize": 100,
  "filter.sortingCriteria": [
    {
      "column": "DueDate",
      "order": "Descending"
    }
  ]
}

Filters

  • completionStatus
    • AllIncludingArchived, Todo, DoneOrArchived
  • readStatus
    • All, OnlyRead, OnlyUnread
  • markingStatus
    • All, OnlyMarked, OnlyUnmarked
  • dueDateFrom
    • Date in format 2020-01-01
  • dueDateTo
    • Date in format 2020-01-01
  • owners (set by)
    • Array of GUIDs
  • addressees (classes)
    • Array of GUIDs

Sorting Criteria

Can be Ascending or Descending

  • DueDate
  • SetDate

Response (JSON)

Note - not all tasks (e.g. archived) will have all these fields

{
	"items": [
		{
			"id": "[[TASK_ID]]",
			"title": "[[TASK_TITLE]]",
			"setter": {
				"sortKey": "[[SETTER_SORT_KEY]]",
				"guid": "[[SETTER_GUID]]",
				"name": "[[SETTER_NAME]]",
				"deleted": false
			},
			"addressees": [
				{
					"guid": "[[ADDRESSEE_GUID]]",
					"name": "[[ADDRESSEE_NAME]]",
					"isGroup": false,
					"source": "FF"
				},
				{
					"guid": "[ADDRESSEE_GUID]]",
					"name": "[ADDRESSEE_NAME]]",
					"isGroup": false,
					"source": "FF"
				}
			],
			"setDate": "[[SET_DATE]]",
			"dueDate": "[[DUE_DATE]]",
			"student": {
				"sortKey": "[[STUDENT_SORT_KEY]]",
				"guid": "[[STUDENT_GUID]]",
				"name": "[[STUDENT_NAME]]",
				"deleted": false
			},
			"mark": {
				"isMarked": false,
				"grade": null,
				"mark": null,
				"markMax": null,
				"hasFeedback": false
			},
			"isPersonalTask": false,
			"isExcused": false,
			"isDone": false,
			"isResubmissionRequired": false,
			"lastMarkedAsDoneBy": null,
			"archived": false,
			"isUnread": false,
			"fileSubmissionRequired": false,
			"hasFileSubmission": false,
			"descriptionContainsQuestions": false,
			"isMissingDueDate": false,
			"taskSource": "FF",
			"altLink": null,
			"classes": null
		},
  ]
}

List Task IDs

Will return an array of all your Task IDs

Request

POST request to /api/v2/apps/tasks/ids/filterby?ffauth_device_id={ device_id }&ffauth_secret={ secret }

Response (JSON)

[
  1,
  2,
  3
]

Get Tasks

Will return information about each task (up to 50 per request)

Request

POST request to /api/v2/apps/tasks/byIds?ffauth_device_id={ device_id }&ffauth_secret={ secret }

{
  "ids" : [
    1,
    2,
    3
  ]
}

Response (JSON)

[
  {
    "descriptionDetails": null,
    "hideFromRecipients": false,
    "responseReleaseMode": "Batched",
    "pseudoFromGuid": null,
    "pseudoToGuid": null,
    "title": "[[TITLE]]",
    "setDate": "[[SET_TIMESTAMP]]",
    "dueDate": "[[DUE_TIMESTAMP]]",
    "setter": {
      "guid": "[[TEACHER_GUID]]",
      "name": "[[TEACHER_NAME]]",
      "deleted": true
    },
    "archived": true,
    "draft": false,
    "hiddenFromParentPortal": false,
    "hideAddressees": true,
    "markbookHidden": true,
    "markbookHighlight": null,
    "markbookDisplaymode": "Auto",
    "assessmentType": 0,
    "rubricId": null,
    "assessmentDetailsId": 0,
    "fileSubmissionRequired": false,
    "taskType": "SubmissionOptionalTask",
    "pageId": 0,
    "totalMarkOutOf": null,
    "descriptionPageUrl": "page.aspx?id=1&theme=minimal",
    "coowners": [],
    "fileAttachments": null,
    "pageAttachments": null,
    "addressees": [],
    "recipientsResponses": [
      {
        "principal": {
          "sortKey": "[[RECIPIENT_SORT_KEY]]",
          "guid": "[[RECIPIENT_GUID]]",
          "name": "[[RECIPIENT_NAME]]",
          "deleted": false
        },
        "responses": [
          {
            "latestRead": true,
            "authorName": "[[TEACHER_NAME]]",
            "versionId": -1,
            "released": true,
            "releasedTimestamp": "[[RELEASED_TIMESTAMP]]",
            "edited": false,
            "authorGuid": "[[TEACHER_GUID]]",
            "eventType": "set-task",
            "sentTimeStamp": "[[SENT_TIMESTAMP]]",
            "createdTimestamp": "[[CREATED_TIMESTAMP]]",
            "deleted": false,
            "eventGuid": null,
            "taskAssessmentDetails": null
          },
          {
            "latestRead": true,
            "authorName": "[[RECIPIENT_NAME]]",
            "versionId": 1149,
            "released": true,
            "releasedTimestamp": "[[RELEASED_TIMESTAMP]]",
            "edited": false,
            "authorGuid": "[[RECIPIENT_GUID]]",
            "eventType": "mark-as-done",
            "sentTimeStamp": "[[SENT_TIMESTAMP]]",
            "createdTimestamp": "[[CREATED_TIMESTAMP]]",
            "deleted": false,
            "eventGuid": "[[EVENT_GUID]]",
            "taskAssessmentDetails": {
                "assessmentMarkMax": null,
                "assessmentDetailsId": 0,
                "assessmentType": 0
            }
          },
          {
            "latestRead": true,
            "authorName": "[[TEACHER_NAME]]",
            "versionId": 12378,
            "released": true,
            "releasedTimestamp": "[[RELEASED_TIMESTAMP]]",
            "edited": false,
            "authorGuid": "[[TEACHER_GUID]]",
            "eventType": "archive-task",
            "sentTimeStamp": "[[SENT_TIMESTAMP]]",
            "createdTimestamp": "[[CREATED_TIMESTAMP]]",
            "deleted": false,
            "eventGuid": "[[EVENT_GUID]]",
            "taskAssessmentDetails": {
                "assessmentMarkMax": null,
                "assessmentDetailsId": 0,
                "assessmentType": 0
            }
          }
        ]
      }
    ],
    "allRecipientsResponses": [],
    "recipientStatuses": [],
    "deleted": false,
    "ownershipRevoked": false,
    "setInTheFuture": false,
    "id": 1
  }
]