> For the complete documentation index, see [llms.txt](https://synap.ac/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://synap.ac/docs/api/reference/models.md).

# Models

## The AccessMigration object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AccessMigration":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AccessMigration"]},"attributes":{"type":"object","properties":{"permissions":{"type":"string","enum":["core","all","none"]},"searchData":{"type":"boolean"}}},"relationships":{"type":"object","required":["portal"],"properties":{"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AccessPolicy object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AccessPolicy":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AccessPolicy"]},"attributes":{"type":"object","properties":{"target":{"type":"string","readOnly":true},"targetLabel":{"type":"string","readOnly":true},"subTarget":{"type":"string","readOnly":true},"subTargetLabel":{"type":"string","readOnly":true},"action":{"type":"string","readOnly":true},"actionLabel":{"type":"string","readOnly":true},"effect":{"type":"string","readOnly":false,"enum":["allow","deny"]},"position":{"type":"number","readOnly":true},"inherited":{"type":"boolean","readOnly":true},"isSpecific":{"type":"boolean","readOnly":true},"isCore":{"type":"boolean","readOnly":true},"targetCondition":{"type":"object","required":["field","operation","value"],"additionalProperties":false,"properties":{"field":{"type":"string"},"operation":{"type":"string","enum":["$eq","$ne","$exists","$in","$gt","$lt"]},"value":{"anyOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}},"readOnly":false}}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"inheritedFromUserGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"associations":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["AccessPolicy"]}]}}}}},"deprecated":true},"targetResource":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TargetResource"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The AccessPolicyReset object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AccessPolicyReset":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AccessPolicyReset"]},"attributes":{"type":"object","properties":{"permissions":{"type":"string","enum":["core","all"]}}},"relationships":{"type":"object","properties":{"userGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The AccountClosure object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AccountClosure":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AccountClosure"]},"attributes":{"type":"object","properties":{"confirmationToken":{"type":"string","readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AccountClosureRequest object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AccountClosureRequest":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AccountClosureRequest"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ActionLog object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ActionLog":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ActionLog"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["access","account","attempt","attemptCertificate","attemptOverride","assignment","collection","collectionItem","consent","exam","flag","identityCheck","invite","learningRecord","portal","question","emqGroup","session","store","tag","test","userGroup","subPortal","markingSession","markingState","markingEntry"],"readOnly":true},"action":{"type":"string","enum":["created","updated","deleted","viewed","accessGranted","accessRevoked","registered","accountUpdated","enrolled","started","session","itemCompleted","submitted","approved","rejected","completed","certificateGenerated","certificateDownloaded","attemptCertificateGenerated","attemptCertificateRevoked","started","marketingEmails","marketingEmailsRemoved","examUserRegistered","identityCheckCompleted","identityCheckReviewed","identityCheckFilesViewed","examActivated","examCancelled","examCompleted","examScheduled","sent","checked","accepted","cancelled","expired","flagPlanted","passkeyLoggedIn","passkeyRegistered","passkeyRevoked","loggedIn","restored","loggedOut","productUnlocked","viewed","questionAnswered","completed","discarded","testSubmitted","testReleased","testResultCorrected","userAdded","userRemoved","markingSessionStarted","markingSessionCompleted","markingSessionVoided","markingSessionFinalised","markingSessionSuspended","markingSessionResumed","markingSessionAdditionalPassStarted","markingSessionReassigned","markingStateUpdated","markingSourceNominated","markingSourceNominationCleared","markingMarksOverridden","markingEntrySuperseded","attemptResponseMaxPointsOverridden","attemptRegraded","attemptQuestionRemarked","examQuestionRemarked","markingReset","markingInherited"],"readOnly":true},"targetId":{"type":"string","readOnly":true},"targetParentId":{"type":"string","readOnly":true},"targetTitle":{"type":"string","readOnly":true},"timestamp":{"type":"string","readOnly":true},"verb":{"type":"string"}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Annotation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Annotation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Annotation"]},"attributes":{"type":"object","properties":{"collectionItemId":{"type":"string","readOnly":true},"body":{"type":"string","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ApiError object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ApiError":{"type":"object","description":"This is an error response structure. The id, status, code, title and detail will vary based on the error situation.","properties":{"id":{"type":"string","description":"Unique ID of this error occurrence."},"status":{"type":"string","description":"HTTP status code."},"code":{"type":"string","description":"Synap internal error code."},"title":{"type":"string"},"detail":{"type":"string"},"source":{"type":"object","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"}}}}}}}}
```

## The Assignment object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Assignment":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"image":{"type":"object","deprecated":true,"description":"Use `coverImage` instead","readOnly":true,"properties":{"url":{"type":"string"}}},"deadline":{"type":"string","format":"date-time","readOnly":false},"status":{"type":"string","enum":["Not started","In progress","Pending review","Failed","Passed","Completed","Missed deadline","Revoked"],"nullable":false,"readOnly":false},"progress":{"type":"number","readOnly":true},"startDate":{"type":"string","readOnly":true},"endDate":{"type":"string","readOnly":true},"setDate":{"type":"string","readOnly":true},"timeSpentInMinutes":{"type":"number","readOnly":true},"totalItems":{"type":"number","readOnly":true},"itemsCompleted":{"type":"number","readOnly":true},"attemptNumber":{"type":"number","readOnly":true},"isReviewRequired":{"type":"boolean","readOnly":true},"certificateShareList":{"type":"array","readOnly":true,"nullable":true,"maxItems":4,"items":{"type":"object","required":["label","urlPrefix"],"properties":{"label":{"type":"string","minLength":1,"maxLength":100},"urlPrefix":{"type":"string"}}}},"isPreview":{"type":"boolean","readOnly":true},"versionNumber":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":false,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["AssignmentItemAudio","AssignmentItemDocument","AssignmentItemEmbed","AssignmentItemNote","AssignmentItemQuiz","AssignmentItemScorm","AssignmentItemSurvey","AssignmentItemTextEntry","AssignmentItemUpload","AssignmentItemVideo","AssignmentItemZip"]}]}}}}}},"folders":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["AssignmentFolder"]}]}}}}}},"certificate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Certificate"]}}}}},"certificateFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The AssignmentFolder object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentFolder":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentFolder"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","readOnly":true,"minLength":1,"maxLength":150}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":false,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["AssignmentItemAudio","AssignmentItemDocument","AssignmentItemEmbed","AssignmentItemNote","AssignmentItemQuiz","AssignmentItemScorm","AssignmentItemSurvey","AssignmentItemTextEntry","AssignmentItemUpload","AssignmentItemVideo","AssignmentItemZip"]}]}}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The AssignmentGroup object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentGroup":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentGroup"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false,"minLength":1},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"image":{"type":"object","readOnly":false,"deprecated":true,"description":"This property is deprecated. Use the relation \"coverImage\" instead.","properties":{"url":{"type":"string"}}},"absoluteDeadline":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"relativeDeadlineMs":{"type":"number","minimum":3600000,"maximum":31536000000,"readOnly":false,"nullable":true,"description":"The relative deadline in milliseconds, minimum 1 hour, maximum 1 year"},"deadlineType":{"type":"string","enum":["indefinite","absolute","relative"],"readOnly":false},"progressionType":{"type":"string","enum":["fixed-linear","flexible-linear","flexible-open"],"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false},"isActive":{"deprecated":true,"description":"This property is deprecated. Use the property \"status\" instead.","type":"boolean","readOnly":true},"isPendingActivation":{"deprecated":true,"description":"This property is deprecated. Use the property \"status\" instead.","type":"boolean","readOnly":true},"isCompleted":{"deprecated":true,"description":"This property is deprecated. Use the property \"status\" instead.","type":"boolean","readOnly":true},"isArchived":{"type":"boolean","readOnly":false},"status":{"type":"string","readOnly":false,"enum":["inactive","pendingActivation","active","complete","cancelled","closed"],"nullable":false},"certificateTemplateId":{"type":"string","readOnly":false,"nullable":true},"certificateIgnoreSubPortalBranding":{"type":"boolean","readOnly":false,"nullable":false},"certificateShareList":{"type":"array","readOnly":false,"nullable":true,"maxItems":4,"items":{"type":"object","required":["label","urlPrefix"],"properties":{"label":{"type":"string","minLength":1,"maxLength":100},"urlPrefix":{"type":"string"}}}},"startDate":{"type":"string","nullable":true},"endDate":{"type":"string","nullable":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"sourceCourse":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":false,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"reviewers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentGroupCourseVersion object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentGroupCourseVersion":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentGroupCourseVersion"]},"attributes":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"publishStrategy":{"type":"string","enum":["new-enrollees","not-started","incomplete","completed","failed","passed","all"],"readOnly":true},"retainPreviousVersionAssignments":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","required":["assignmentGroup"],"properties":{"assignmentGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentGroup"]}}}}},"backgroundJob":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BackgroundJob"]}}}}},"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentGroupDataExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentGroupDataExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentGroupDataExport"]},"attributes":{"type":"object","required":["type"],"properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true,"enum":["survey-responses"]}}},"relationships":{"type":"object","required":["assignmentGroup"],"properties":{"assignmentGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentGroup"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentGroupHeadlineInsight object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentGroupHeadlineInsight":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentGroupHeadlineInsight"]},"attributes":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"generated":{"type":"number","readOnly":true},"notStarted":{"type":"number","readOnly":true},"inProgress":{"type":"number","readOnly":true},"pendingReview":{"type":"number","readOnly":true},"submitted":{"type":"number","readOnly":true},"completed":{"type":"number","readOnly":true},"passed":{"type":"number","readOnly":true},"failed":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentHeadlineInsight object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentHeadlineInsight":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentHeadlineInsight"]},"attributes":{"type":"object","properties":{"courseVersion":{"type":"string","readOnly":true},"isCourseVersionLatest":{"type":"boolean","readOnly":true},"items":{"type":"number","readOnly":true},"completed":{"type":"number","readOnly":true},"pendingReview":{"type":"number","readOnly":true},"meanTimeSpentInMillis":{"type":"number","nullable":true,"readOnly":true},"maxTimeSpentInMillis":{"type":"number","nullable":true,"readOnly":true},"meanAttemptScore":{"type":"number","nullable":true,"readOnly":true},"numAttempts":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemAudio object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemAudio":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemAudio"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemAudio"]},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"audio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemDocument object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemDocument":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemDocument"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemDocument"]},"shouldPreview":{"type":"boolean","readOnly":true,"nullable":false},"allowDownload":{"type":"boolean","readOnly":true,"nullable":false}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"document":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemEmbed object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemEmbed":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemEmbed"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemEmbed"]},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"embed":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemNote object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemNote":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemNote"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemNote"]}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"note":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Note"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemPulse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemPulse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemPulse"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"pulseInterval":{"type":"number","readOnly":true,"default":15,"description":"The interval in seconds at which the assignment item is pulsed."}}},"relationships":{"type":"object","required":["assignmentItem"],"additionalProperties":false,"properties":{"assignmentItem":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":false,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["AssignmentItemAudio","AssignmentItemDocument","AssignmentItemEmbed","AssignmentItemNote","AssignmentItemQuiz","AssignmentItemScorm","AssignmentItemSurvey","AssignmentItemTextEntry","AssignmentItemUpload","AssignmentItemVideo","AssignmentItemZip"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The AssignmentItemQuiz object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemQuiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemQuiz"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemQuiz"]},"passScore":{"type":"number","readOnly":false,"nullable":true},"quizMode":{"type":"string","enum":["practice","exam","timedExam"],"readOnly":false,"nullable":false},"isPassed":{"type":"boolean","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"firstAttempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"latestAttempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemReview object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemReview":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]},"attributes":{"type":"object","properties":{"body":{"type":"string","readOnly":false,"nullable":true},"scope":{"type":"string","enum":["shared","internal"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","properties":{"assignmentItem":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":false,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["AssignmentItemAudio","AssignmentItemDocument","AssignmentItemEmbed","AssignmentItemNote","AssignmentItemQuiz","AssignmentItemScorm","AssignmentItemSurvey","AssignmentItemTextEntry","AssignmentItemUpload","AssignmentItemVideo","AssignmentItemZip"]}]}}}}},"supportingContent":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The AssignmentItemScorm object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemScorm":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemScorm"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemScorm"]},"launchUrl":{"type":"string","format":"uri","description":"The URL to launch the SCORM course. This will only be availble when the item is active.","readOnly":true}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"scorm":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ScormCourse"]}}}}},"result":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentScormResult"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemSelfAssessmentOutcome object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemSelfAssessmentOutcome":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemSelfAssessmentOutcome"]},"attributes":{"type":"object","properties":{"selfAssessmentOutcome":{"type":"object","readOnly":true}}},"relationships":{"type":"object","properties":{"assignmentItem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemSurvey"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemSurvey object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemSurvey":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemSurvey"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemSurvey"]}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"survey":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Survey"]}}}}},"response":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SurveyResponse"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemTextEntry object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemTextEntry":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemTextEntry"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemTextEntry"]},"wordLimit":{"type":"number","minimum":0,"nullable":true,"readOnly":true},"multiLine":{"type":"boolean","nullable":false,"readOnly":true},"response":{"type":"string","nullable":true,"readOnly":false}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemUpload object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemUpload":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemUpload"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemUpload"]},"allowWebcam":{"type":"boolean","readOnly":true,"description":"Indicates if webcam upload is allowed for this assignment item."},"contentType":{"type":"string","readOnly":true,"enum":["audio","document","video","zip","image"]}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"upload":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemVideo object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemVideo":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemVideo"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemVideo"]},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"video":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentItemZip object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentItemZip":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemZip"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"startDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"endDate":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"timeSpentInMinutes":{"type":"number","readOnly":true,"nullable":true},"status":{"type":"string","enum":["notStarted","inProgress","pendingReview","reviewed","reinstated","completed"],"nullable":false,"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"isLocked":{"type":"boolean","readOnly":true,"nullable":false},"type":{"type":"string","readOnly":true,"enum":["AssignmentItemZip"]},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"internalReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"sharedReview":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemReview"]}}}}},"bar":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Bar"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentManualReview object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentManualReview":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentManualReview"]},"attributes":{"type":"object","properties":{"isApproved":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentReattempt object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentReattempt":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentReattempt"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","required":["assignment"],"properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"newAssignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentReset object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentReset":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentReset"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","required":["assignment"],"properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentRevocation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentRevocation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentRevocation"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentScormResult object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentScormResult":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentScormResult"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["UNKNOWN","COMPLETED","INCOMPLETE"],"readOnly":true},"result":{"type":"string","enum":["UNKNOWN","PASSED","FAILED"],"readOnly":true},"score":{"type":"number","format":"float","readOnly":true},"timeSpentInSeconds":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"assignmentItem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemScorm"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AssignmentSelfAssessmentReport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AssignmentSelfAssessmentReport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentSelfAssessmentReport"]},"attributes":{"type":"object","additionalProperties":false,"properties":{}},"relationships":{"type":"object","properties":{"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Attempt object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Attempt":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]},"attributes":{"type":"object","properties":{"title":{"type":"string","readOnly":true},"loginCode":{"type":"string","readOnly":true,"nullable":true,"description":"The candidate's code-login credential. Only present for requesters who can edit the exam, and only on attempts of exams with code login enabled."},"createdAt":{"type":"string","readOnly":true},"isCompleted":{"type":"boolean","readOnly":true},"timeStarted":{"type":"string","readOnly":true},"timeCompleted":{"type":"string","readOnly":true},"timeRemainingInMs":{"type":"number","readOnly":true,"minimum":0,"description":"Time remaining in milliseconds at the time of the request. Present only for in-progress attempts with a visible whole-attempt timer that has started."},"proctor":{"type":"object","readOnly":true,"additionalProperties":true,"deprecated":true,"description":"Deprecated. Use flattened fields such as `proctorEnabled`, `proctorVendor` etc instead."},"registration":{"type":"object","readOnly":true,"description":"How this attempt was created, with its initiating trigger when known. Absent on attempts whose origin was not recorded.","required":["method"],"properties":{"method":{"type":"string","enum":["userGroup","direct","examWindow","resit"]},"trigger":{"type":"string","enum":["lti","voucher","examCode"]}}},"resitCount":{"type":"number","readOnly":true,"description":"Can be used to generate a resit attempt. If not provided, the attempt will be a new attempt. All requests by students are determined as resit requests, even if this is omitted."},"attemptsAllowed":{"type":"number","nullable":true,"readOnly":true},"schedule":{"type":"object","readOnly":true,"properties":{"activateAt":{"type":"string"},"deactivateAt":{"type":"string","nullable":true}}},"candidateOpenDate":{"type":"string","readOnly":true,"description":"Earliest date at which candidate could have started their exam. Useful for displaying a \"user friendly\" open date for indefinite/ongoing exams with rolling registrations"},"status":{"type":"string","readOnly":true,"enum":["draft","scheduled","active","completed","cancelled"]},"submissionType":{"type":"string","readOnly":true,"nullable":true,"enum":["user","system","moderator","userTimedOut","abandoned",null]},"settings":{"type":"object","readOnly":true,"additionalProperties":true},"state":{"type":"object","readOnly":true,"additionalProperties":true},"quizSetup":{"type":"object","readOnly":true,"additionalProperties":true},"grade":{"type":"object","readOnly":true,"nullable":true,"additionalProperties":true},"examStatus":{"type":"string","readOnly":true},"proctorStatus":{"type":"string","readOnly":true},"score":{"type":"number","readOnly":true},"candidateFeedback":{"type":"string","readOnly":true},"marks":{"type":"object","nullable":true,"properties":{"points":{"type":"number","readOnly":true},"maxPoints":{"type":"number","readOnly":true},"credits":{"type":"number","readOnly":true},"penalties":{"type":"number","readOnly":true}}},"isRevoked":{"type":"boolean","readOnly":false},"isArchived":{"type":"boolean","readOnly":false,"description":"Hides the attempt from the candidate's exam list. The result remains valid, unlike revoking."},"questionsTotal":{"type":"number","readOnly":true,"description":"Questions in the attempt."},"setupTags":{"type":"array","readOnly":true,"description":"The tags the attempt was set up to draw from (`quizSetup.filters`), with their current labels; tags deleted since are left out. Only on the attempt list, and omitted when `fields[Attempt]` is sent without it.","items":{"type":"object","required":["id","label"],"properties":{"id":{"type":"string"},"label":{"type":"string"}}}},"isOpen":{"type":"boolean","readOnly":true},"isUpcoming":{"type":"boolean","readOnly":true},"isPast":{"type":"boolean","readOnly":true},"isPreview":{"type":"boolean","readOnly":true},"resultsPageHidden":{"type":"boolean","readOnly":false},"resultsScoreHidden":{"type":"boolean","readOnly":false},"version":{"type":"string","readOnly":true},"unlockedAt":{"type":"string","readOnly":true,"description":"When the attempt was last unlocked. Only present for staff viewers."},"unlockedMethod":{"type":"string","readOnly":true,"enum":["staff","passcode"],"description":"How the attempt was last unlocked. Only present for staff viewers."},"corrections":{"type":"object","readOnly":true,"description":"Post-hoc corrections to the result (overrides, re-grades, exam-version re-marks). Absent when the result was never corrected, or was corrected before this was recorded. Only present for staff viewers.","required":["count","lastAt","lastKind"],"properties":{"count":{"type":"integer","minimum":1},"lastAt":{"type":"string","format":"date-time"},"lastKind":{"type":"string","enum":["markingEntryOverride","maxPointsOverride","regrade","questionRemark","attemptOverride"]}}},"resultsStatus":{"type":"string","readOnly":false,"enum":["pending","finalised","released"]},"resultsMarkingStatus":{"type":"string","readOnly":false,"enum":["notStarted","inProgress","readyToFinalise","finalised","completed"]},"resultsPendingMarks":{"type":"number","readOnly":true,"nullable":true},"resultsDeferredLocked":{"type":"boolean","readOnly":true,"description":"Whether the owner is not yet allowed to see this deferred result."},"proctorEnabled":{"type":"boolean","readOnly":false,"nullable":true},"proctorVendor":{"type":"string","enum":["synopticV2","rosalyn",null],"readOnly":false,"nullable":true},"proctorSessionId":{"type":"string","readOnly":true,"nullable":true},"proctorIsApproved":{"type":"boolean","readOnly":true,"nullable":true},"proctorReviews":{"type":"array","readOnly":true,"nullable":true,"items":{"type":"object","required":["userId","action","timestamp"],"properties":{"id":{"type":"string","readOnly":true},"userId":{"type":"string"},"action":{"type":"string","enum":["approve","reject","comment"]},"timestamp":{"type":"string"},"body":{"type":"string","nullable":true}}}},"proctorRequiresReview":{"type":"boolean","readOnly":true,"nullable":true},"proctorBreaches":{"type":"integer","minimum":0,"readOnly":true,"nullable":true},"proctorAiAnalysisStatus":{"type":"string","enum":["pending","completed","error"],"readOnly":true,"nullable":true},"proctorAiAnalysisPrompts":{"type":"array","readOnly":true,"nullable":true,"items":{"type":"object","properties":{"prompt":{"type":"string"},"slug":{"type":"string"},"colour":{"type":"string","nullable":true},"coverageRatio":{"type":"number","minimum":0,"maximum":1},"totalDurationS":{"type":"number","minimum":0,"nullable":true}}}},"proctorLiveProctoring":{"type":"boolean","readOnly":false,"nullable":true},"proctorRoomScanCoverage":{"type":"string","enum":["off","workspace","full",null],"nullable":true},"proctorRoomScanDevice":{"type":"string","enum":["phone","webcam","either",null],"nullable":true},"identityCheckRequired":{"type":"boolean","readOnly":false,"nullable":true},"identityCheckFailureAction":{"type":"string","enum":["flag","block",null],"readOnly":true,"nullable":true},"identityCheckVendor":{"type":"string","enum":["stripe","entrust","internal",null],"readOnly":true,"nullable":true},"identityCheckAutomaticFaceMatch":{"type":"boolean","readOnly":true,"nullable":true},"identityCheckNameAction":{"type":"string","enum":["record","flag","block",null],"readOnly":true,"nullable":true},"identityCheck":{"type":"object","readOnly":true,"nullable":true,"properties":{"status":{"type":"string","enum":["created","processing","verified","failed","cancelled","awaiting_review"],"readOnly":true},"checkId":{"type":"string","readOnly":true,"nullable":true},"sessionRef":{"type":"string","readOnly":true,"nullable":true},"checkedAt":{"type":"string","readOnly":true,"nullable":true},"failureCode":{"type":"string","readOnly":true,"nullable":true},"attemptsUsed":{"type":"integer","minimum":0,"readOnly":true},"redactedAt":{"type":"string","readOnly":true,"nullable":true}}},"proctorRosalynRuleUsePrivateTestArea":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleVisibleFace":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleDoNotAllowInteractionWithOthers":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleDoNotAllowOtherMaterials":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleDoNotAllowNoiseMakingDevices":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleDoNotAllowAdditionalDevices":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleAllowMouseKeyboardMonitorOnly":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleDoNotAllowAppsOrBroswerTabs":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleDoNotAllowExamContentSharing":{"type":"boolean","readOnly":true,"nullable":true},"proctorRosalynRuleDoNotAllowTextPrediction":{"type":"boolean","readOnly":true,"nullable":true},"proctorSynopticLevel":{"type":"string","enum":["web","browser","desktop",null],"readOnly":false,"nullable":true},"proctorScreenMonitoring":{"type":"string","enum":["none","recreation","recreationWithSnapshots","video",null],"readOnly":false,"nullable":true},"proctorWebcamMonitoring":{"type":"string","enum":["none","snapshots","audioVideo",null],"readOnly":false,"nullable":true},"proctorRequireSecondCamera":{"type":"boolean","readOnly":false,"nullable":true},"proctorRequireFullscreen":{"type":"boolean","readOnly":false,"nullable":true},"proctorRestrictTabs":{"type":"boolean","readOnly":false,"nullable":true},"proctorRestrictDisplays":{"type":"boolean","readOnly":false,"nullable":true},"proctorKeyboardShortcutsEnabled":{"type":"boolean","readOnly":false,"nullable":true},"proctorScreenshotPrevention":{"type":"boolean","readOnly":false,"nullable":true},"proctorAiReview":{"type":"boolean","readOnly":false,"nullable":true},"proctorLiveAiDetection":{"type":"boolean","readOnly":false,"nullable":true},"proctorAiFlagCandidateLeftFrame":{"type":"boolean","readOnly":false,"nullable":true},"proctorAiFlagMultiplePeopleInFrame":{"type":"boolean","readOnly":false,"nullable":true},"proctorAiPrompts":{"type":"array","readOnly":true,"nullable":true,"items":{"type":"object","properties":{"prompt":{"type":"string"},"level":{"type":"string","enum":["info","warning","breach"]},"colour":{"type":"string","nullable":true},"enabled":{"type":"boolean","nullable":true}}}},"proctorOnBreach":{"type":"string","enum":["freeze","silent",null],"readOnly":false,"nullable":true},"proctorBlockedApplicationsPolicy":{"type":"string","enum":["none","default",null],"readOnly":false,"nullable":true},"estrangedMarkers":{"type":"object","readOnly":true,"description":"Ids of assigned markers who are no longer members of the exam's user group for their role, per role. Empty arrays when every assigned marker is still a member. Only present on the exam-scoped attempt search, and only when `withEstrangedMarkers=true` is sent; a role key appears only when its assigned-marker relationship was included and the exam has a user group for that role.","properties":{"provisional":{"type":"array","items":{"type":"string"}},"moderating":{"type":"array","items":{"type":"string"}},"escalating":{"type":"array","items":{"type":"string"}},"backReading":{"type":"array","items":{"type":"string"}},"auditing":{"type":"array","items":{"type":"string"}}}},"ltiLaunch":{"type":"object","readOnly":true,"nullable":true,"additionalProperties":false,"required":["consumerKey","contextId","resourceLinkId"],"properties":{"consumerKey":{"type":"string"},"contextId":{"type":"string","nullable":true},"resourceLinkId":{"type":"string","nullable":true},"launchPresentationReturnUrl":{"type":"string","nullable":true},"lisResultSourcedId":{"type":"string","nullable":true},"lisOutcomeServiceUrl":{"type":"string","nullable":true},"scorePostbackUrl":{"type":"string","nullable":true},"scopes":{"type":"array","items":{"type":"string"},"nullable":true},"vendorData":{"type":"object","additionalProperties":true,"nullable":true},"externalUserId":{"type":"string","nullable":true}}}}},"relationships":{"type":"object","properties":{"examV2":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"examVoucher":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamVoucher"]}}}}},"examWindow":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamWindow"]}}}}},"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"assignmentItem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItem"]}}}}},"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"collectionItem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItem"]}}}}},"collectionMock":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionMock"]}}}}},"study":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Study"]}}}}},"studyItem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["StudyItem"]}}}}},"responses":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Response"]}]}}}}}},"responsesV2":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["PlayerAudioResponse","PlayerVideoResponse","PlayerClozeDragAndDropResponse","PlayerClozeDropDownResponse","PlayerClozeTextResponse","PlayerFileUploadResponse","PlayerFreeTextResponse","PlayerInformationalResponse","PlayerMultipleChoiceResponse","PlayerRankedResponse","PlayerSingleChoiceResponse","PlayerShortAnswerResponse","PlayerSpreadsheetResponse","PlayerImageHotspotResponse","PlayerOffPlatformResponse","PlayerFlashcardResponse","PlayerTrueOrFalseResponse","PlayerDrawingResponse","PlayerMatchingResponse","PlayerImageLabellingDragAndDropResponse","PlayerImageLabellingDropDownResponse","PlayerImageLabellingTextResponse","PlayerClassificationResponse","PlayerChoiceMatrixResponse","PlayerTextSelectionResponse","PlayerCodingResponse","PlayerBowTieResponse","PlayerLikertResponse","PlayerNumericAnswerResponse"]}]}}}}}},"marker":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"unlockedBy":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"markingState":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingState"]}}}}},"assignedMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"assignedProvisionalMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"assignedModeratingMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"assignedEscalatingMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"assignedAuditingMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"assignedBackReadingMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"certificate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Certificate"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The AttemptActiveDuration object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptActiveDuration":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptActiveDuration"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"activeTime":{"type":"object","writeOnly":true,"required":["sittingMs"],"additionalProperties":false,"description":"Cumulative active-millisecond counters, never deltas, in the same shape the attempt stores them. The server merges every counter with max(), so resending is always safe. Send only counters that grew.","properties":{"sittingMs":{"type":"object","description":"Exactly one entry: the syncing sitting's id mapped to its own cumulative total. Keys must match ^[A-Za-z0-9_-]{1,64}$, at most 100 per request.","maxProperties":1,"additionalProperties":{"type":"integer","minimum":0,"maximum":2592000000},"minProperties":1},"sectionMs":{"type":"object","description":"Sparse map of sectionId to cumulative active milliseconds for the attempt. Keys that are not real sections of the attempt are ignored. Keys must match ^[A-Za-z0-9_-]{1,64}$, at most 100 per request.","maxProperties":100,"additionalProperties":{"type":"integer","minimum":0,"maximum":2592000000}},"sectionInstructionsMs":{"type":"object","description":"Sparse map of sectionId to cumulative active milliseconds spent on that section's instructions screen, a subset of sectionMs. Keys must match ^[A-Za-z0-9_-]{1,64}$, at most 100 per request.","maxProperties":100,"additionalProperties":{"type":"integer","minimum":0,"maximum":2592000000}},"sectionOutroMs":{"type":"object","description":"Sparse map of sectionId to cumulative active milliseconds spent on that section's outro screen, a subset of sectionMs. Keys must match ^[A-Za-z0-9_-]{1,64}$, at most 100 per request.","maxProperties":100,"additionalProperties":{"type":"integer","minimum":0,"maximum":2592000000}},"attemptInstructionsMs":{"type":"integer","minimum":0,"maximum":2592000000,"description":"Cumulative active milliseconds on the attempt's own instructions screen, which precedes every section and so belongs to none of them."},"questionMs":{"type":"object","description":"Sparse map of questionId to cumulative active milliseconds for the attempt. Keys must match ^[A-Za-z0-9_-]{1,64}$, at most 100 per request.","maxProperties":100,"additionalProperties":{"type":"integer","minimum":0,"maximum":2592000000}}}},"totalMs":{"type":"integer","minimum":0,"readOnly":true,"description":"The attempt-wide merged lifetime total after this sync."}}},"relationships":{"type":"object","required":["attempt"],"additionalProperties":false,"properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":false,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptChart object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptChart":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptChart"]},"attributes":{"type":"object","properties":{"chartType":{"type":"string","enum":["individualStudentVsCohortBellCurve","subjectBreakdown","topicBreakdown","subtopicBreakdown","skillBreakdown","difficultyBreakdown","subjectProgress","topicProgress","subtopicProgress","overallProgress"],"readOnly":true},"series":{"type":"array","readOnly":true,"items":{"type":"object","properties":{"label":{"type":"string"},"dataset":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"category":{"anyOf":[{"type":"string"},{"type":"number"}]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}}},{"type":"object","properties":{"date":{"type":"string","format":"date-time"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}}}]}}}}},"xAxes":{"type":"object","readOnly":true,"properties":{"type":{"type":"string","enum":["category","date","value"]},"title":{"type":"string"},"min":{"type":"number"},"max":{"type":"number"}}},"yAxes":{"type":"object","readOnly":true,"properties":{"type":{"type":"string","enum":["category","date","value"]},"title":{"type":"string"},"min":{"type":"number"},"max":{"type":"number"}}},"markers":{"type":"array","readOnly":true,"items":{"type":"object","properties":{"axis":{"type":"string"},"axisValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"label":{"type":"string"}}}},"ranges":{"type":"array","readOnly":true,"items":{"type":"object","properties":{"startCategory":{"anyOf":[{"type":"string"},{"type":"number"}]},"endCategory":{"anyOf":[{"type":"string"},{"type":"number"}]},"type":{"type":"string","enum":["standardDeviation","cohortAverage","usersScore"]},"tooltipText":{"type":"string"}}}},"error":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true},"dataAnnotation":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptCodeLogin object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptCodeLogin":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptCodeLogin"]},"attributes":{"type":"object","properties":{"verifyWith":{"type":"string","enum":["none","surname","externalId"],"readOnly":true,"deprecated":true,"description":"Superseded by requiredDatapoints."},"requiredDatapoints":{"type":"array","readOnly":true,"description":"Every detail the candidate must submit alongside their code. Only the resolved exam knows what it asks for, so this arrives with the datapointRequired outcome.","items":{"type":"string","enum":["none","surname","externalId"]}},"outcome":{"type":"string","enum":["active","submitted","noActiveAttempt","datapointRequired","invalid"],"readOnly":true},"sessionToken":{"type":"string","readOnly":true},"expiresAt":{"type":"string","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptInsight object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptInsight":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptInsight"]},"attributes":{"type":"object","properties":{"insightType":{"type":"string","enum":["microOutcomeCorrect","microOutcomeIncorrect","microOutcomePartial","miniIndividualTimeSpent","miniIndividualAttemptImprovement","miniIndividualStudentVsCohortAverage","miniIndividualPercentile","miniIndividualAttemptGrade"],"readOnly":true},"value":{"type":"string","readOnly":true},"label":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true},"highlightType":{"type":"string","enum":["user","cohort","neutral","positive","negative","info","warning"],"readOnly":true},"secondaryValue":{"type":"string","readOnly":true},"secondaryVariant":{"type":"string","enum":["positive","negative","neutral"],"readOnly":true},"secondaryTooltip":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptLock object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptLock":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptLock"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptMarking object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptMarking":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptMarking"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptMarksSubmission object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptMarksSubmission":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptMarksSubmission"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","required":["attempt"],"properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptOverride object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptOverride":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptOverride"]},"attributes":{"type":"object","properties":{"overrides":{"type":"array","items":{"type":"string","enum":["score","points","credits","penalties","grade","schedule"]},"nullable":true},"comment":{"type":"string","readOnly":true},"grade":{"type":"object","properties":{"oldValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"newValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"isOriginal":{"type":"boolean"}},"nullable":true},"score":{"type":"object","properties":{"oldValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"newValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"isOriginal":{"type":"boolean"}},"nullable":true},"points":{"type":"object","properties":{"oldValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"newValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"isOriginal":{"type":"boolean"}},"nullable":true},"credits":{"type":"object","properties":{"oldValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"newValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"isOriginal":{"type":"boolean"}},"nullable":true},"penalties":{"type":"object","properties":{"oldValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"newValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"isOriginal":{"type":"boolean"}},"nullable":true},"schedule":{"type":"object","properties":{"oldValue":{"type":"object","properties":{"activateAt":{"type":"string","format":"date-time","nullable":true},"deactivateAt":{"type":"string","format":"date-time","nullable":true}},"nullable":true},"newValue":{"type":"object","properties":{"activateAt":{"type":"string","format":"date-time","nullable":true},"deactivateAt":{"type":"string","format":"date-time","nullable":true}}},"isOriginal":{"type":"boolean"}},"nullable":true,"readOnly":true},"reverted":{"type":"boolean"}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptPlayerState object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptPlayerState":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptPlayerState"]},"attributes":{"type":"object","properties":{"isLocked":{"type":"boolean","readOnly":true},"isStarted":{"type":"boolean","readOnly":true},"isCompleted":{"type":"boolean","readOnly":true},"isResultReady":{"type":"boolean","readOnly":true},"isRevoked":{"type":"boolean","readOnly":true},"isProctorReviewRejected":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptRegrade object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptRegrade":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptRegrade"]},"attributes":{"type":"object","properties":{"previousOutcome":{"type":"object","readOnly":true,"description":"What the attempt held before.","properties":{"gradeLabel":{"type":"string","nullable":true},"isPass":{"type":"boolean","nullable":true},"score":{"type":"number","nullable":true}}},"outcome":{"type":"object","readOnly":true,"description":"What the attempt holds now.","properties":{"gradeLabel":{"type":"string","nullable":true},"isPass":{"type":"boolean","nullable":true},"score":{"type":"number","nullable":true}}},"boundariesChanged":{"type":"boolean","readOnly":true,"description":"False when the exam version already carried the boundaries the attempt was graded with; nothing was written."},"outcomeChanged":{"type":"boolean","readOnly":true},"gradeOverridden":{"type":"boolean","readOnly":true,"description":"An administrator's manual grade override stands; only the grade it records as actual moved."},"testVersion":{"type":"string","readOnly":true,"nullable":true},"unmatchedSectionIds":{"type":"array","readOnly":true,"items":{"type":"string"},"description":"Attempt sections the exam version no longer names; their boundaries were left as sat."}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"test":{"type":"object","description":"The exam version whose grade boundaries were applied.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptResultConfig object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptResultConfig":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptResultConfig"]},"attributes":{"type":"object","properties":{"chartConfigList":{"type":"array","items":{"type":"object","properties":{"identifier":{"type":"string"},"cloudModule":{"type":"string"},"paramList":{"type":"array","items":{"type":"string"}},"viewOptions":{"type":"object","properties":{"tab":{"type":"string"}}},"chartType":{"type":"string"},"size":{"type":"string"}}}},"microInsightConfigList":{"type":"array","items":{"type":"object","properties":{"identifier":{"type":"string"},"cloudModule":{"type":"string"},"paramList":{"type":"array","items":{"type":"string"}},"viewOptions":{"type":"object","properties":{"tab":{"type":"string"}}}}}},"miniInsightConfigList":{"type":"array","items":{"type":"object","properties":{"identifier":{"type":"string"},"cloudModule":{"type":"string"},"paramList":{"type":"array","items":{"type":"string"}},"viewOptions":{"type":"object","properties":{"tab":{"type":"string"}}}}}},"sectionBreakdownEnabled":{"type":"boolean"},"sectionBreakdownGradeEnabled":{"type":"boolean"},"sectionBreakdownScoreEnabled":{"type":"boolean"},"educatorsViewAsAdminEnabled":{"type":"boolean"},"detailedViewEnabled":{"type":"boolean"},"tabs":{"type":"object","properties":{"overview":{"type":"object","properties":{"microInsights":{"type":"array","items":{"type":"string"}},"miniInsights":{"type":"array","items":{"type":"string"}},"charts":{"type":"array","items":{"type":"string"}}}},"results":{"type":"object","properties":{"microInsights":{"type":"array","items":{"type":"string"}},"miniInsights":{"type":"array","items":{"type":"string"}},"charts":{"type":"array","items":{"type":"string"}}}},"breakdown":{"type":"object","properties":{"microInsights":{"type":"array","items":{"type":"string"}},"miniInsights":{"type":"array","items":{"type":"string"}},"charts":{"type":"array","items":{"type":"string"}}}},"progress":{"type":"object","properties":{"microInsights":{"type":"array","items":{"type":"string"}},"miniInsights":{"type":"array","items":{"type":"string"}},"charts":{"type":"array","items":{"type":"string"}}}},"questions":{"type":"object","properties":{"microInsights":{"type":"array","items":{"type":"string"}},"miniInsights":{"type":"array","items":{"type":"string"}},"charts":{"type":"array","items":{"type":"string"}}}}}},"meta":{"type":"object","properties":{"facetLabels":{"type":"object","properties":{"exam":{"type":"string"},"module":{"type":"string"},"subject":{"type":"string"},"topic":{"type":"string"},"subtopic":{"type":"string"},"difficulty":{"type":"string"},"skill":{"type":"string"},"context":{"type":"string"}}}}}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptResultNotification object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptResultNotification":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptResultNotification"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptRevokeReversal object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptRevokeReversal":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptRevokeReversal"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptSchedule object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptSchedule":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptSchedule"]},"attributes":{"type":"object","properties":{"activateAt":{"type":"string","readOnly":false},"deactivateAt":{"type":"string","readOnly":false,"nullable":true},"isExpired":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptSitting object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptSitting":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptSitting"]},"attributes":{"type":"object","properties":{"sessionId":{"type":"string","readOnly":true},"timeStarted":{"type":"string","readOnly":true},"ip":{"type":"string","readOnly":true},"userAgent":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptSubmission object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptSubmission":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptSubmission"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptTagLabel object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptTagLabel":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptTagLabel"]},"attributes":{"type":"object","properties":{"label":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"parent":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptTagLabel"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptTimer object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptTimer":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptTimer"]},"attributes":{"type":"object","properties":{"standardTimeInMs":{"type":"number","readOnly":true},"extraTimeMultiplier":{"type":"number","nullable":true,"readOnly":false}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttemptTimerReset object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttemptTimerReset":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptTimerReset"]},"attributes":{"type":"object","properties":{"sectionId":{"type":"string","readOnly":true,"nullable":true,"description":"Section to activate. Leave as empty string to reset to first section."},"timeAddedInMins":{"type":"number","readOnly":true,"description":"Time added in minutes, set to 0 to grant reset to default."}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AttributeConfig object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AttributeConfig":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttributeConfig"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"customId":{"type":"string","readOnly":true,"maxLength":100},"target":{"type":"string","readOnly":true,"enum":["User","Collection","CollectionItem","Exam","LearningRecord","Response","Attempt","Question","SubPortal","UserGroup","AssignmentGroup","Test","Note","Content"]},"type":{"type":"string","enum":["boolean","date","multiChoice","multiText","number","singleChoice","text","link","file"],"readOnly":false},"label":{"type":"string","readOnly":false,"minLength":1,"maxLength":200},"sublabel":{"type":"string","readOnly":false,"maxLength":100,"nullable":true},"description":{"type":"string","readOnly":false,"maxLength":500,"nullable":true},"options":{"type":"array","readOnly":false,"nullable":true,"minItems":1,"maxItems":1000,"items":{"type":"object","required":["label"],"properties":{"value":{"anyOf":[{"type":"string","minLength":1},{"type":"number"},{"type":"boolean"}]},"label":{"type":"string"}}}},"labelQuestion":{"type":"string","readOnly":false,"maxLength":500,"nullable":true},"registration":{"type":"object","properties":{"collect":{"type":"boolean"}},"nullable":true,"readOnly":false},"required":{"type":"boolean","readOnly":false},"editPermission":{"type":"number","enum":[0,1,2],"readOnly":false},"viewPermission":{"type":"number","enum":[0,1,2],"readOnly":false},"settings":{"type":"object","nullable":true,"properties":{"link":{"type":"object","properties":{"display":{"type":"object","properties":{"asButton":{"type":"boolean"}}},"authenticated":{"type":"boolean"},"clickBehavior":{"type":"string","enum":["newWindow","sameWindow","modal","modalWithDownload","download","action"],"readOnly":false,"nullable":false}}}}},"inUse":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AuditLog object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuditLog":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuditLog"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"actorType":{"type":"string","enum":["user","personalAccessToken","apiKey","anonymous","automation"],"readOnly":true,"nullable":false},"actorIsAdmin":{"type":"boolean","readOnly":true,"nullable":true},"apiKeyId":{"type":"string","readOnly":true,"nullable":true},"method":{"type":"string","enum":["delete","get","head","options","patch","post","put","trace"],"readOnly":true,"nullable":false},"route":{"type":"string","readOnly":true,"nullable":false},"path":{"type":"string","readOnly":true,"nullable":false},"resource":{"type":"string","readOnly":true,"nullable":true},"params":{"type":"object","additionalProperties":true,"readOnly":true,"nullable":true},"query":{"type":"object","additionalProperties":true,"readOnly":true,"nullable":true},"targetType":{"type":"string","readOnly":true,"nullable":true},"targetId":{"type":"string","readOnly":true,"nullable":true},"targetRelationship":{"type":"string","readOnly":true,"nullable":true},"statusCode":{"type":"number","readOnly":true,"nullable":true},"outcome":{"type":"string","enum":["success","clientError","serverError","aborted"],"readOnly":true,"nullable":false},"errorCode":{"type":"string","readOnly":true,"nullable":true},"errorTitle":{"type":"string","readOnly":true,"nullable":true},"durationMs":{"type":"number","readOnly":true,"nullable":false},"ip":{"type":"string","readOnly":true,"nullable":true},"userAgent":{"type":"string","readOnly":true,"nullable":true},"requestId":{"type":"string","readOnly":true,"nullable":true},"traceId":{"type":"string","readOnly":true,"nullable":true},"appVersion":{"type":"string","readOnly":true,"nullable":true},"payloadBytes":{"type":"number","readOnly":true,"nullable":true},"payload":{"type":"object","additionalProperties":true,"readOnly":true,"nullable":true},"errorBody":{"type":"object","additionalProperties":true,"readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"actor":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subjectUser":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AuthenticationOption object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuthenticationOption":{"anyOf":[{"$ref":"#/components/schemas/AuthenticationOptionLocal"},{"$ref":"#/components/schemas/AuthenticationOptionAuth0"},{"$ref":"#/components/schemas/AuthenticationOptionAdfs"},{"$ref":"#/components/schemas/AuthenticationOptionJwt"},{"$ref":"#/components/schemas/AuthenticationOptionLti1p1"},{"$ref":"#/components/schemas/AuthenticationOptionLti1p3"},{"$ref":"#/components/schemas/AuthenticationOptionSaml"}]},"AuthenticationOptionLocal":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionLocal"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"type":{"type":"string","enum":["local"],"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"AuthenticationOptionAuth0":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionAuth0"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"authProviderId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["auth0"],"readOnly":true},"domain":{"type":"string","readOnly":true},"clientId":{"type":"string","readOnly":true},"callbackUrl":{"type":"string","readOnly":true},"scope":{"type":"array","items":{"type":"string"},"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"AuthenticationOptionAdfs":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionAdfs"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"authProviderId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["adfs"],"readOnly":true},"domain":{"type":"string","readOnly":true},"tenantId":{"type":"string","readOnly":true},"federationMetadataUrl":{"type":"string","readOnly":true},"spEntityId":{"type":"string","readOnly":true},"isUsingRetiredCertificate":{"type":"boolean","readOnly":true,"description":"Warning: true when SAML assertions are being decrypted with the retired SP certificate."}}},"relationships":{"type":"object","properties":{}}}},"AuthenticationOptionJwt":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionJwt"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"authProviderId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["jwt"],"readOnly":true},"secret":{"type":"string","readOnly":true},"loginPageUrl":{"type":"string","readOnly":false,"nullable":true},"embedLoginPage":{"type":"boolean","readOnly":false},"callbackUrl":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"AuthenticationOptionLti1p1":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionLti1p1"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["lti_1p1"],"readOnly":true},"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"clientId":{"type":"string","readOnly":true},"clientSecret":{"type":"string","readOnly":true},"launchUrl":{"type":"string","readOnly":true},"launchType":{"type":"string","enum":["collection","exam"],"readOnly":true},"outcomeServiceUrl":{"type":"string","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{}}}},"AuthenticationOptionLti1p3":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionLti1p3"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"type":{"type":"string","enum":["lti_1p3"],"readOnly":true},"issuer":{"type":"string","minimum":1,"readOnly":true},"clientId":{"type":"string","minimum":1,"readOnly":true},"deploymentId":{"type":"string","minimum":1,"readOnly":true},"jwksUrl":{"type":"string","format":"uri","readOnly":true},"oidcAuthUrl":{"type":"string","format":"uri","readOnly":true},"authTokenUrl":{"type":"string","format":"uri","readOnly":true},"toolJwksUrl":{"type":"string","format":"uri","readOnly":true,"description":"Synap public keyset URL for the platform to verify our JWTs"},"toolLoginUrl":{"type":"string","format":"uri","readOnly":true,"description":"Synap OIDC login initiation URL"},"toolRedirectUrl":{"type":"string","format":"uri","readOnly":true,"description":"Synap redirect URI where the platform posts the ID token"}}},"relationships":{"type":"object","properties":{}}}},"AuthenticationOptionSaml":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionSaml"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"authProviderId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["saml"],"readOnly":true},"idpLoginUrl":{"type":"string","readOnly":true},"metadataUrl":{"type":"string","readOnly":true},"spEntityId":{"type":"string","readOnly":true},"attributeFirstName":{"type":"string","readOnly":true,"nullable":true},"attributeLastName":{"type":"string","readOnly":true,"nullable":true},"attributeEmail":{"type":"string","readOnly":true,"nullable":true},"attributeSubPortalId":{"type":"string","readOnly":true,"nullable":true},"isUsingRetiredCertificate":{"type":"boolean","readOnly":true,"description":"Warning: true when SAML assertions are being decrypted with the retired SP certificate."}}},"relationships":{"type":"object","properties":{}}}}}}}
```

## The AuthenticationOptionAdfs object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuthenticationOptionAdfs":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionAdfs"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"authProviderId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["adfs"],"readOnly":true},"domain":{"type":"string","readOnly":true},"tenantId":{"type":"string","readOnly":true},"federationMetadataUrl":{"type":"string","readOnly":true},"spEntityId":{"type":"string","readOnly":true},"isUsingRetiredCertificate":{"type":"boolean","readOnly":true,"description":"Warning: true when SAML assertions are being decrypted with the retired SP certificate."}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AuthenticationOptionAuth0 object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuthenticationOptionAuth0":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionAuth0"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"authProviderId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["auth0"],"readOnly":true},"domain":{"type":"string","readOnly":true},"clientId":{"type":"string","readOnly":true},"callbackUrl":{"type":"string","readOnly":true},"scope":{"type":"array","items":{"type":"string"},"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AuthenticationOptionJwt object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuthenticationOptionJwt":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionJwt"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"authProviderId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["jwt"],"readOnly":true},"secret":{"type":"string","readOnly":true},"loginPageUrl":{"type":"string","readOnly":false,"nullable":true},"embedLoginPage":{"type":"boolean","readOnly":false},"callbackUrl":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AuthenticationOptionLocal object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuthenticationOptionLocal":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionLocal"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"type":{"type":"string","enum":["local"],"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AuthenticationOptionLti1p1 object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuthenticationOptionLti1p1":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionLti1p1"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["lti_1p1"],"readOnly":true},"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"clientId":{"type":"string","readOnly":true},"clientSecret":{"type":"string","readOnly":true},"launchUrl":{"type":"string","readOnly":true},"launchType":{"type":"string","enum":["collection","exam"],"readOnly":true},"outcomeServiceUrl":{"type":"string","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AuthenticationOptionLti1p3 object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuthenticationOptionLti1p3":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionLti1p3"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"type":{"type":"string","enum":["lti_1p3"],"readOnly":true},"issuer":{"type":"string","minimum":1,"readOnly":true},"clientId":{"type":"string","minimum":1,"readOnly":true},"deploymentId":{"type":"string","minimum":1,"readOnly":true},"jwksUrl":{"type":"string","format":"uri","readOnly":true},"oidcAuthUrl":{"type":"string","format":"uri","readOnly":true},"authTokenUrl":{"type":"string","format":"uri","readOnly":true},"toolJwksUrl":{"type":"string","format":"uri","readOnly":true,"description":"Synap public keyset URL for the platform to verify our JWTs"},"toolLoginUrl":{"type":"string","format":"uri","readOnly":true,"description":"Synap OIDC login initiation URL"},"toolRedirectUrl":{"type":"string","format":"uri","readOnly":true,"description":"Synap redirect URI where the platform posts the ID token"}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AuthenticationOptionSaml object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AuthenticationOptionSaml":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AuthenticationOptionSaml"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"label":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"isActive":{"type":"boolean","readOnly":false},"preventRegistration":{"type":"boolean","readOnly":false},"authProviderId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["saml"],"readOnly":true},"idpLoginUrl":{"type":"string","readOnly":true},"metadataUrl":{"type":"string","readOnly":true},"spEntityId":{"type":"string","readOnly":true},"attributeFirstName":{"type":"string","readOnly":true,"nullable":true},"attributeLastName":{"type":"string","readOnly":true,"nullable":true},"attributeEmail":{"type":"string","readOnly":true,"nullable":true},"attributeSubPortalId":{"type":"string","readOnly":true,"nullable":true},"isUsingRetiredCertificate":{"type":"boolean","readOnly":true,"description":"Warning: true when SAML assertions are being decrypted with the retired SP certificate."}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Automation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Automation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Automation"]},"attributes":{"type":"object","properties":{"name":{"type":"string","minLength":1,"readOnly":false,"nullable":false},"description":{"type":"string","maxLength":500,"readOnly":false,"nullable":true},"definition":{"type":"object","description":"The workflow definition: `WorkflowDefinitionSchema` from `@synap-ac/automations-contracts`. Validated structurally and against the current catalogue; every fault is reported as its own error with a `source.pointer` into the definition and the issue `code` in `meta`. Saving a new definition bumps `version` and re-derives `triggerEvent`.","additionalProperties":true,"readOnly":false,"nullable":false},"state":{"type":"string","enum":["draft","enabled","disabled","paused"],"description":"Writable to move the automation: `enabled`, `paused` (from enabled, with `waitingRuns`) or `disabled`. Created as `disabled`.","readOnly":false,"nullable":false},"waitingRuns":{"type":"string","enum":["pause","continue"],"description":"Required when pausing: whether runs waiting on a checkpoint pause with the automation or continue. Never returned.","writeOnly":true,"nullable":false},"pausedRuns":{"type":"string","enum":["resume","discard"],"description":"Required when enabling a paused automation: whether paused runs resume (on the current version) or are discarded. Never returned.","writeOnly":true,"nullable":false},"enabled":{"type":"boolean","readOnly":true,"nullable":false},"pausedReason":{"type":"string","enum":["health","blockRetired","entitlementRemoved",null],"readOnly":true,"nullable":true},"version":{"type":"integer","minimum":1,"readOnly":true,"nullable":false},"triggerEvent":{"type":"string","enum":["assignment.complete","attempt.submitted","attempt.complete","attempt.started","attemptOverride.created","attemptCertificate.generated","exam.userRegistered","exam.submitted","exam.started","exam.complete","exam.released","exam.examCreated","exam.examUpdated","flag.planted","learningRecord.created","learningRecord.updated","learningRecord.deleted","store.purchase","usergroup.userAdded","usergroup.userRemoved","invite.sent","user.registered","user.updated","subPortal.created","subPortal.updated","subPortal.deleted","markingSession.started","markingSession.completed","markingState.updated"],"readOnly":true,"nullable":false},"catalogueVersion":{"type":"string","readOnly":true,"nullable":false},"health":{"type":"object","required":["consecutiveFailures"],"properties":{"consecutiveFailures":{"type":"integer","minimum":0},"lastRunAt":{"type":"string","format":"date-time","readOnly":true},"lastRunStatus":{"type":"string","enum":["pending","running","waiting","paused","completed","skipped","failed","exhausted","cancelled"],"readOnly":true}},"readOnly":true,"nullable":false},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AutomationEvent object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AutomationEvent":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AutomationEvent"]},"attributes":{"type":"object","properties":{"eventName":{"type":"string","enum":["assignment.complete","attempt.submitted","attempt.complete","attempt.started","attemptOverride.created","attemptCertificate.generated","exam.userRegistered","exam.submitted","exam.started","exam.complete","exam.released","exam.examCreated","exam.examUpdated","flag.planted","learningRecord.created","learningRecord.updated","learningRecord.deleted","store.purchase","usergroup.userAdded","usergroup.userRemoved","invite.sent","user.registered","user.updated","subPortal.created","subPortal.updated","subPortal.deleted","markingSession.started","markingSession.completed","markingState.updated"],"readOnly":true},"payload":{"type":"object","description":"The webhook payload the event carries.","additionalProperties":true,"readOnly":true},"dedupeKey":{"type":"string","readOnly":true},"originRunId":{"type":"string","readOnly":true,"nullable":true},"depth":{"type":"integer","minimum":0,"readOnly":true},"status":{"type":"string","enum":["pending","claimed","processed","dropped"],"readOnly":true},"claimedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"processedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"expiresAt":{"type":"string","format":"date-time","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AutomationRun object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AutomationRun":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AutomationRun"]},"attributes":{"type":"object","properties":{"automationVersion":{"type":"integer","minimum":1,"readOnly":true},"upgradedFromVersion":{"type":"integer","minimum":1,"readOnly":true,"nullable":true},"catalogueVersion":{"type":"string","readOnly":true},"mode":{"type":"string","enum":["live","dryRun"],"readOnly":true},"triggerEventId":{"type":"string","readOnly":true},"status":{"type":"string","enum":["pending","running","waiting","paused","completed","skipped","failed","exhausted","cancelled"],"readOnly":true},"pausedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"cancelledReason":{"type":"string","enum":["manual","disabled","discarded",null],"readOnly":true,"nullable":true},"depth":{"type":"integer","minimum":0,"readOnly":true},"targetId":{"type":"string","readOnly":true,"nullable":true},"startedAt":{"type":"string","format":"date-time","readOnly":true},"finishedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"resumeAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"nextAttemptAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"attemptCount":{"type":"integer","minimum":0,"readOnly":true},"currentStepId":{"type":"string","readOnly":true,"nullable":true},"requestedRetryOfStepId":{"type":"string","readOnly":true,"nullable":true},"definition":{"type":"object","description":"The workflow definition snapshot the run executes. Present on a single run, absent from run listings.","additionalProperties":true,"readOnly":true},"steps":{"type":"array","description":"The step log. Present on a single run, absent from run listings.","readOnly":true,"items":{"type":"object","required":["stepId","status","attemptCount"],"properties":{"stepId":{"type":"string"},"status":{"type":"string","enum":["pending","running","succeeded","failed","skipped","waiting"]},"attemptCount":{"type":"integer","minimum":0},"startedAt":{"type":"string","format":"date-time"},"finishedAt":{"type":"string","format":"date-time"},"opId":{"type":"string"},"request":{"type":"object","required":["method","path"],"properties":{"method":{"type":"string"},"path":{"type":"string"},"body":{}}},"response":{"type":"object","required":["status"],"properties":{"status":{"type":"integer"},"body":{}}},"output":{},"error":{"type":"object","required":["type","message"],"properties":{"type":{"type":"string","enum":["http4xx","http5xx","timeout","network","blockRetired","bindingUnresolved","invalidDefinition"]},"message":{"type":"string"}}}}}},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true}}},"relationships":{"type":"object","properties":{"automation":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":false,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Automation"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The AvailableAccessPolicy object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"AvailableAccessPolicy":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AvailableAccessPolicy"]},"attributes":{"type":"object","properties":{"target":{"type":"string","readOnly":true},"targetLabel":{"type":"string","readOnly":true},"subTarget":{"type":"string","readOnly":true},"subTargetLabel":{"type":"string","readOnly":true},"action":{"type":"string","readOnly":true},"actionLabel":{"type":"string","readOnly":true},"position":{"type":"number","readOnly":true},"applicableUserGroupTypes":{"type":"array","items":{"type":"string"},"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The BackgroundJob object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"BackgroundJob":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BackgroundJob"]},"attributes":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"createdAt":{"type":"string","readOnly":true},"timeStarted":{"type":"string","readOnly":true},"timeCompleted":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true},"status":{"type":"string","enum":["queued","delayed","started","stalled","successful","failed","panic"],"readOnly":true},"progress":{"type":"number","readOnly":true},"message":{"type":"string","readOnly":true},"data":{"type":"array","readOnly":true,"items":{"type":"array","readOnly":true,"items":{"oneOf":[{"type":"string"},{"type":"object"}],"maxItems":2}}},"params":{"type":"object","readOnly":true},"error":{"type":"string","readOnly":true},"result":{"type":"object","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The BadRequestApiError object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"BadRequestApiError":{"type":"object","description":"The request was invalid.","properties":{"id":{"type":"string","description":"Unique ID of this error occurrence."},"status":{"type":"string","description":"HTTP status code."},"code":{"type":"string","description":"Synap internal error code."},"title":{"type":"string"},"detail":{"type":"string"},"source":{"type":"object","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"}}}}}}}}
```

## The BillingInfo object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"BillingInfo":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BillingInfo"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"state":{"type":"string","enum":["ok","singleInvoiceReminder","multipleInvoiceReminders","singleInvoiceWarning","mixedReminderAndWarning","multipleInvoiceWarnings","frozen"],"readOnly":true,"description":"The current billing state of the organisation. This indicates if there are any billing issues that need attention."},"oldestUnpaidInvoiceDueDate":{"type":"string","format":"date-time","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"invoices":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Invoice"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The BillingUsageReport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"BillingUsageReport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BillingUsageReport"]},"attributes":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"portalName":{"type":"string","readOnly":true},"generatedAt":{"type":"string","format":"date-time","readOnly":true},"range":{"type":"object","additionalProperties":false,"properties":{"preset":{"type":"string","enum":["this-month","3-months","6-months","9-months","12-months","all-time","contract-year"]},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}},"required":["preset","from","to"],"readOnly":true},"currency":{"type":"string","readOnly":true},"dataFreshThrough":{"type":"string","format":"date-time","readOnly":true},"subscription":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string"},"renewsAt":{"type":"string","format":"date-time"},"termStart":{"type":"string","format":"date-time"},"termEnd":{"type":"string","format":"date-time"},"billingPeriodUnit":{"type":"string","enum":["month","year"]}},"required":["status"],"readOnly":true},"planOptions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"tier":{"type":"string"},"options":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"priceMinor":{"type":"number"},"allowance":{"type":"number"},"perUnitMinor":{"type":"number"},"isCurrent":{"type":"boolean"}},"required":["id","name","isCurrent"]}}},"required":["options"]},"readOnly":true},"kind":{"type":"string","enum":["payg"],"readOnly":true},"plan":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"allowance":{"type":"number"},"annualPriceMinor":{"type":"number"},"perCreditMinor":{"type":"number"}},"required":["name"],"readOnly":true},"creditRates":{"type":"object","additionalProperties":false,"properties":{"unproctored":{"type":"number"},"study":{"type":"number"},"assignment":{"type":"number"},"rosalynLockdown":{"type":"number"},"synopticLockdown":{"type":"number"},"rosalynLive":{"type":"number"},"synopticRecorded":{"type":"number"},"synopticV2":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"tier":{"type":"string","enum":["noRecording","recreationAndSnapshots","videoAndAudioRecording","videoAndAudioRecordingWithAiReview"]},"label":{"type":"string"},"firstBlock":{"type":"number"},"additionalHour":{"type":"number"}},"required":["tier","label","firstBlock","additionalHour"]}}},"required":["unproctored","study","assignment","rosalynLockdown","synopticLockdown","rosalynLive","synopticRecorded","synopticV2"],"readOnly":true},"creditPool":{"type":"object","additionalProperties":false,"properties":{"allocated":{"type":"number"},"remaining":{"type":"number"},"includedCreditsUsed":{"type":"number"},"usageHistoryIncludedCreditsUsed":{"type":"number"},"totalCreditsUsed":{"type":"number"},"reconciliationDifference":{"type":"number"},"usedPercentage":{"type":"number"},"expiresAt":{"type":"string","format":"date-time"},"runRate":{"type":"object","additionalProperties":false,"properties":{"creditsPerMonth":{"type":"number"},"runwayMonths":{"type":"number"},"depletesAt":{"type":"string","format":"date-time"}},"required":["creditsPerMonth","runwayMonths","depletesAt"]}},"required":["allocated","remaining","includedCreditsUsed","usageHistoryIncludedCreditsUsed","totalCreditsUsed","reconciliationDifference","usedPercentage"],"readOnly":true},"batches":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"invoiceId":{"type":"string"},"credits":{"type":"number"},"balance":{"type":"number"},"validFrom":{"type":"string","format":"date-time"},"validUntil":{"type":"string","format":"date-time"}},"required":["invoiceId","credits","balance","validFrom","validUntil"]},"readOnly":true},"usageByMonth":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"month":{"type":"string","format":"date-time"},"inProgress":{"type":"boolean"},"unproctored":{"type":"number"},"study":{"type":"number"},"assignment":{"type":"number"},"rosalynLockdown":{"type":"object","additionalProperties":false,"properties":{"attempts":{"type":"number"},"creditsUsed":{"type":"number"}},"required":["attempts","creditsUsed"]},"synopticLockdown":{"type":"object","additionalProperties":false,"properties":{"attempts":{"type":"number"},"creditsUsed":{"type":"number"}},"required":["attempts","creditsUsed"]},"rosalynLive":{"type":"object","additionalProperties":false,"properties":{"attempts":{"type":"number"},"creditsUsed":{"type":"number"}},"required":["attempts","creditsUsed"]},"synopticRecorded":{"type":"object","additionalProperties":false,"properties":{"attempts":{"type":"number"},"creditsUsed":{"type":"number"}},"required":["attempts","creditsUsed"]},"synopticV2":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"tier":{"type":"string","enum":["noRecording","recreationAndSnapshots","videoAndAudioRecording","videoAndAudioRecordingWithAiReview"]},"label":{"type":"string"},"attempts":{"type":"number"},"firstBlockCreditsUsed":{"type":"number"},"additionalHours":{"type":"number"},"additionalHourCreditsUsed":{"type":"number"},"totalCreditsUsed":{"type":"number"}},"required":["tier","label","attempts","firstBlockCreditsUsed","additionalHours","additionalHourCreditsUsed","totalCreditsUsed"]}},"reviews":{"type":"number"},"totalCreditsUsed":{"type":"number"},"overageBilledMinor":{"type":"number"}},"required":["month","inProgress","unproctored","study","assignment","rosalynLockdown","synopticLockdown","rosalynLive","synopticRecorded","synopticV2","reviews","totalCreditsUsed","overageBilledMinor"]},"readOnly":true},"contractYears":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"inProgress":{"type":"boolean"},"creditsUsed":{"type":"number"},"pool":{"type":"number"},"billedBeyondPoolMinor":{"type":"number"}},"required":["start","end","inProgress","creditsUsed"]},"readOnly":true},"pendingOverageChargeMinor":{"type":"number"},"rosalynInUse":{"type":"boolean","readOnly":true}},"required":["kind","portalName","generatedAt","range","currency","subscription","planOptions","plan","creditRates","batches","usageByMonth","contractYears","rosalynInUse"]},{"type":"object","additionalProperties":false,"properties":{"portalName":{"type":"string","readOnly":true},"generatedAt":{"type":"string","format":"date-time","readOnly":true},"range":{"type":"object","additionalProperties":false,"properties":{"preset":{"type":"string","enum":["this-month","3-months","6-months","9-months","12-months","all-time","contract-year"]},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}},"required":["preset","from","to"],"readOnly":true},"currency":{"type":"string","readOnly":true},"dataFreshThrough":{"type":"string","format":"date-time","readOnly":true},"subscription":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string"},"renewsAt":{"type":"string","format":"date-time"},"termStart":{"type":"string","format":"date-time"},"termEnd":{"type":"string","format":"date-time"},"billingPeriodUnit":{"type":"string","enum":["month","year"]}},"required":["status"],"readOnly":true},"planOptions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"tier":{"type":"string"},"options":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"priceMinor":{"type":"number"},"allowance":{"type":"number"},"perUnitMinor":{"type":"number"},"isCurrent":{"type":"boolean"}},"required":["id","name","isCurrent"]}}},"required":["options"]},"readOnly":true},"kind":{"type":"string","enum":["mau"],"readOnly":true},"plan":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"allowance":{"type":"number"},"priceMinor":{"type":"number"},"overageRateMinor":{"type":"number"}},"required":["name","allowance","overageRateMinor"],"readOnly":true},"currentPeriod":{"type":"object","additionalProperties":false,"properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"maus":{"type":"number"},"synopticRecorded":{"type":"number"},"rosalynLive":{"type":"number"},"estimatedOverageMinor":{"type":"number"}},"required":["start","end","maus","synopticRecorded","rosalynLive","estimatedOverageMinor"],"readOnly":true},"usageHistory":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"maus":{"type":"number"},"allowance":{"type":"number"},"over":{"type":"number"},"overageChargeMinor":{"type":"number"},"invoice":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"status":{"type":"string"},"totalMinor":{"type":"number"}},"required":["id","status","totalMinor"]}},"required":["start","end","maus","allowance","over"]},"readOnly":true},"periodsOverAllowance":{"type":"object","additionalProperties":false,"properties":{"count":{"type":"number"},"outOf":{"type":"number"}},"required":["count","outOf"],"readOnly":true},"latestInvoice":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"status":{"type":"string"},"date":{"type":"string","format":"date-time"},"lines":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"quantity":{"type":"number"},"unitAmountMinor":{"type":"number"},"amountMinor":{"type":"number"},"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"}},"required":["description","amountMinor"]}},"discountMinor":{"type":"number"},"subTotalMinor":{"type":"number"},"taxMinor":{"type":"number"},"totalMinor":{"type":"number"}},"required":["id","status","lines","totalMinor"],"readOnly":true},"nextTier":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"priceMinor":{"type":"number"},"breakevenMaus":{"type":"number"}},"required":["name","priceMinor","breakevenMaus"],"readOnly":true}},"required":["kind","portalName","generatedAt","range","currency","subscription","planOptions","plan","usageHistory","periodsOverAllowance"]}]},"relationships":{"type":"object","additionalProperties":false,"properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The BotSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"BotSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BotSession"]},"attributes":{"type":"object","required":["sessionToken"],"properties":{"apiKeyToken":{"type":"string","readOnly":true},"sessionToken":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"botUser":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BotUser"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The BotUser object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"BotUser":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BotUser"]},"attributes":{"type":"object","required":["name","vendorIdentifier"],"properties":{"name":{"type":"string","readOnly":false},"vendorIdentifier":{"type":"string","readOnly":false,"enum":["rosalyn"]}}},"relationships":{"type":"object","properties":{"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Certificate object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Certificate":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Certificate"]},"attributes":{"type":"object","properties":{"html":{"type":"string","readOnly":true},"documentKey":{"type":"string","readOnly":true},"expiryDate":{"type":"string","readOnly":true},"validationUrl":{"type":"string","readOnly":true},"revokedAt":{"type":"string","format":"date-time","readOnly":true,"description":"When the certificate was withdrawn in favour of `supersededBy`. Absent while it is live."}}},"relationships":{"type":"object","properties":{"document":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Document"]}}}}},"template":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Template"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"assignment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]}}}}},"supersededBy":{"type":"object","description":"The certificate that replaced this one. It may itself have been withdrawn since, so follow the chain to the live certificate. Absent while this one is live.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Certificate"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ChartJs object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ChartJs":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ChartJs"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["portal-activity","engagement","sl-overview"]},"chart":{"type":"object","properties":{"type":{"type":"string","enum":["line","pie","scatter","bar"]},"options":{"type":"object"},"data":{"type":"object","properties":{"labels":{"type":"array","items":{"type":"string"}},"datasets":{"type":"array","items":{"type":"object"}}}}}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CheckoutSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CheckoutSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CheckoutSession"]},"attributes":{"type":"object","required":["isCheckoutCompleted"],"properties":{"productIdentifier":{"type":"string","readOnly":true,"description":"Deprecated on create — send the `product` relationship instead, as an identifier is not unique across portals. One of the two is required."},"currency":{"type":"string","enum":["gbp","eur","usd"],"readOnly":true,"description":"The currency to charge in. Defaults to the product's default currency. Must be one of the currencies the product is priced in, otherwise the request is rejected."},"customerData":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"description":"The external payment gateway customer ID"},"email":{"type":"string","nullable":true,"description":"Can be used to link the payment gateway Customer."}}},"paymentGatewayToken":{"type":"string","readOnly":true,"nullable":true,"description":"The payment gateway token, only for paid products."},"paymentGatewayUrl":{"type":"string","readOnly":true,"nullable":true,"description":"The hosted payment gateway Checkout URL, only returned when creating a paid Checkout Session that is not embedded."},"paymentGatewayClientSecret":{"type":"string","readOnly":true,"nullable":true,"description":"The client secret that renders an embedded Checkout, only returned when creating a paid Checkout Session that is embedded."},"paymentGatewayAccountId":{"type":"string","readOnly":true,"nullable":true,"description":"The connected payment account an embedded Checkout is created in, only returned when creating an embedded Checkout Session."},"isCheckoutCompleted":{"type":"boolean","readOnly":false,"nullable":false,"description":"Indicates if the user has completed the checkout form and is ready for processing."},"isPaymentSuccessful":{"type":"boolean","readOnly":true,"nullable":true,"description":"Indicates if the payment gateway checkout was successful."},"processedAt":{"type":"string","readOnly":true,"nullable":true,"description":"The date and time the subscription was processed."},"processingError":{"type":"string","nullable":true,"readOnly":true,"description":"If the payment was successful but the subscription was not created, this will contain the error message."}}},"relationships":{"type":"object","properties":{"storeOffer":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["StoreOffer"]}}}}},"product":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Product"]}}}}},"subscription":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Subscription"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CloneJob object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CloneJob":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CloneJob"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["quiz","course","collection","exam","exam-template"],"readOnly":true},"sourceId":{"type":"string","readOnly":true},"state":{"type":"string","enum":["pending","started","completed","failed"],"readOnly":true},"cloneId":{"type":"string","readOnly":true},"label":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Collection object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Collection":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false,"nullable":false,"minLength":1},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"settings":{"type":"object","deprecated":true,"properties":{"takeTest":{"type":"object","additionalProperties":true},"playerView":{"type":"object","properties":{"enabled":{"type":"boolean"},"hideOverviewPage":{"type":"boolean"}}},"trackedProgress":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"annotations":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"export":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"generatedAttempts":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"mocks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string","nullable":true},"filters":{"type":"object","additionalProperties":true},"quizLength":{"type":"number","minimum":1},"passScore":{"type":"number","minimum":0,"maximum":100,"nullable":true},"examSittingAttrs":{"type":"object","additionalProperties":true}}}},"restrictedAccess":{"type":"object","properties":{"label":{"type":"string"}}},"sorting":{"type":"object","properties":{"prioritise":{"type":"boolean"}}}}},"attr":{"type":"object","readOnly":false,"nullable":true},"extraInformation":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"isArchived":{"type":"boolean","readOnly":false,"nullable":true},"generatedAttemptsEnabled":{"type":"boolean","readOnly":false},"mocks":{"type":"array","nullable":true,"items":{"type":"object","required":["id","filters","quizLength"],"properties":{"id":{"type":"string"},"title":{"type":"string","nullable":true,"minLength":1,"maxLength":120},"filters":{"type":"object","additionalProperties":true,"properties":{"weightingType":{"type":"string","enum":["absolute","percentage"]},"filterRules":{"type":"array","minItems":0,"maxItems":125,"description":"Array of filter rules to apply to the dynamic quiz content.","items":{"type":"object","properties":{"weighting":{"type":"number"},"matchingRules":{"type":"array","minItems":0,"maxItems":20,"description":"Array of matching rules to apply to the filter rule. Each rule will be treated as an AND operation. Matching rules can not be a mix of tag and EMQ rules.","items":{"anyOf":[{"type":"object","required":["tagId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["tagId"],"properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}}}]}}}}}}},"quizLength":{"type":"number","minimum":1},"passScore":{"type":"integer","minimum":0,"maximum":100,"nullable":true},"examSittingAttrs":{"type":"object","nullable":true,"additionalProperties":true},"timeInMs":{"type":"number","nullable":true,"minimum":1}}}},"annotationsEnabled":{"type":"boolean","readOnly":false},"exportEnabled":{"type":"boolean","readOnly":false},"playerViewEnabled":{"type":"boolean","readOnly":false},"playerViewHideOverviewPage":{"type":"boolean","readOnly":false},"restrictedAccessLabel":{"type":"string","readOnly":false,"nullable":true},"sortingPrioritise":{"type":"boolean","readOnly":false},"takeTestSettings":{"type":"object","nullable":true,"additionalProperties":true,"deprecated":true,"description":"deprecated, use top level setting fields instead"},"allowedModes":{"type":"array","nullable":true,"items":{"type":"string","enum":["practice","exam","timedExam"]},"minItems":1,"maxItems":3},"allowedLengths":{"type":"array","items":{"type":"string","enum":["default","quick","medium","long","extraLong"]}},"allowedPlayers":{"type":"array","items":{"type":"string","enum":["default","ucat","usmle"]}},"allowedTagSets":{"type":"array","nullable":true,"items":{"type":"string"}},"allowedFacets":{"type":"array","nullable":true,"items":{"type":"string","enum":["subject","topic","subtopic","skill","difficulty","context"]}},"calculatorEnabled":{"type":"boolean","readOnly":false},"tagSelectionDisplayMode":{"type":"string","enum":["dropdown","toggle"],"readOnly":false},"allowMultipleTagSelection":{"type":"boolean","readOnly":false},"excludeUntaggedQuestions":{"type":"boolean","readOnly":false},"showMasteryFilters":{"type":"boolean","readOnly":false},"calculatorType":{"type":"string","enum":["basic","scientific"]},"notepadEnabled":{"type":"boolean","readOnly":false},"strikethroughEnabled":{"type":"boolean","readOnly":false},"highlightingEnabled":{"type":"boolean","readOnly":false},"bookmarkingEnabled":{"type":"boolean","readOnly":false},"labValuesEnabled":{"type":"boolean","readOnly":false},"labValuesHtml":{"type":"string","readOnly":false},"ignoreSkippedResponses":{"type":"boolean","readOnly":false},"reviewAndSubmitEnabled":{"type":"boolean","readOnly":false},"saveAndResumeEnabled":{"type":"boolean","readOnly":false},"flaggingEnabled":{"type":"boolean","readOnly":false},"resultsMessageCompleted":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageSettingHideTitle":{"type":"boolean","readOnly":false},"resultsMetricScoreEnabled":{"type":"boolean","readOnly":false},"resultsMetricTimeSpentEnabled":{"type":"boolean","readOnly":false},"resultsMetricGradeEnabled":{"type":"boolean","readOnly":false},"resultsMetricQuestionBreakdownDisplayLevel":{"type":"string","enum":["full","hideStemAndOptions","hideCorrectOptions","incorrectOnlyHideCorrectOptions","none"],"readOnly":false},"resultsMetricAnalyticsCohort":{"type":"string","enum":["exam","test","sourceTest"]},"resultsMetricCohortAverageEnabled":{"type":"boolean","readOnly":false},"resultsMetricCohortPercentileEnabled":{"type":"boolean","readOnly":false},"resultsMetricCohortScoreDistributionEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagBreakdownEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagProgressEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagProgressFacetsEnabled":{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"subject":{"type":"boolean","readOnly":false},"topic":{"type":"boolean","readOnly":false},"subtopic":{"type":"boolean","readOnly":false},"skill":{"type":"boolean","readOnly":false},"difficulty":{"type":"boolean","readOnly":false}}},"resultsEducatorViewAsAdminEnabled":{"type":"boolean","readOnly":false},"trackedProgressEnabled":{"type":"boolean","readOnly":false},"accessLevel":{"type":"string","enum":["editor","none","full","restricted"],"readOnly":true},"totalItems":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionItem","CollectionItemAudio","CollectionItemDocument","CollectionItemEmbed","CollectionItemNote","CollectionItemQuiz","CollectionItemVideo","CollectionItemZip"]}]}}}}}},"lockedItems":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionItem","CollectionItemAudio","CollectionItemDocument","CollectionItemEmbed","CollectionItemNote","CollectionItemQuiz","CollectionItemVideo","CollectionItemZip"]}]}}}}}},"folders":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionFolder"]}]}}}}}},"icon":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"collectionAccess":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionAccess"]}]}}}}}},"instructionsAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The CollectionAccess object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionAccess":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionAccess"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"level":{"type":"string","readOnly":false,"nullable":false,"enum":["editor","none","full","restricted"]},"upgradeInstructionsType":{"type":"string","readOnly":true,"nullable":false,"enum":["product","storeOffer"]},"upgradeInstructionsData":{"readOnly":true,"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionFolder object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionFolder":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","readOnly":false,"minLength":1,"maxLength":150}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionSubFolder","CollectionItem","CollectionItemAudio","CollectionItemDocument","CollectionItemEmbed","CollectionItemNote","CollectionItemQuiz","CollectionItemVideo","CollectionItemZip"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The CollectionItem object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItem":{"anyOf":[{"$ref":"#/components/schemas/CollectionItemAudio"},{"$ref":"#/components/schemas/CollectionItemDocument"},{"$ref":"#/components/schemas/CollectionItemEmbed"},{"$ref":"#/components/schemas/CollectionItemNote"},{"$ref":"#/components/schemas/CollectionItemQuiz"},{"$ref":"#/components/schemas/CollectionItemVideo"},{"$ref":"#/components/schemas/CollectionItemZip"}]},"CollectionItemAudio":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemAudio"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["audio"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"audio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"CollectionItemDocument":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemDocument"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["document"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false},"startAtPage":{"readOnly":false,"type":"number","nullable":true}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"document":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"CollectionItemEmbed":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemEmbed"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["embed"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"embed":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"CollectionItemNote":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemNote"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["note"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"note":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Note"]}}}}}}}}},"CollectionItemQuiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemQuiz"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["quiz"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false},"totalQuestions":{"type":"number","readOnly":true}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"quizAttemptSetupConfig":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizAttemptSetupConfig"]}}}}}}}}},"CollectionItemVideo":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemVideo"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["video"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"video":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"CollectionItemZip":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemZip"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["zip"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"zip":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}}}}}
```

## The CollectionItemAudio object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItemAudio":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemAudio"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["audio"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"audio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionItemDocument object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItemDocument":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemDocument"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["document"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false},"startAtPage":{"readOnly":false,"type":"number","nullable":true}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"document":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionItemEmbed object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItemEmbed":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemEmbed"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["embed"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"embed":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionItemNote object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItemNote":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemNote"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["note"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"note":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Note"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionItemPdfExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItemPdfExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemPdfExport"]},"attributes":{"type":"object","properties":{"url":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"collectionItem":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionItem","CollectionItemAudio","CollectionItemDocument","CollectionItemEmbed","CollectionItemNote","CollectionItemQuiz","CollectionItemVideo","CollectionItemZip"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The CollectionItemQuiz object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItemQuiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemQuiz"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["quiz"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false},"totalQuestions":{"type":"number","readOnly":true}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"quizAttemptSetupConfig":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizAttemptSetupConfig"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionItemVideo object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItemVideo":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemVideo"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["video"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"video":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionItemZip object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionItemZip":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemZip"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["zip"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"zip":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionMock object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionMock":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionMock"]},"attributes":{"type":"object","properties":{"title":{"type":"string","nullable":true},"filters":{"type":"object","additionalProperties":true},"quizLength":{"type":"number","minimum":1},"passScore":{"type":"number","minimum":0,"maximum":100,"nullable":true},"examSittingAttrs":{"type":"object","nullable":true,"additionalProperties":true}}},"relationships":{"type":"object","properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionPdfExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionPdfExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionPdfExport"]},"attributes":{"type":"object","properties":{"url":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionProgress object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionProgress":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionProgress"]},"attributes":{"type":"object","properties":{"percentageSeen":{"type":"number","readOnly":true},"tally":{"type":"object","readOnly":true,"properties":{"unseen":{"type":"number","readOnly":true},"seen":{"type":"number","readOnly":true},"updated":{"type":"number","readOnly":true},"new":{"type":"number","readOnly":true}}},"progress":{"type":"array","readOnly":true,"required":["collectionItemId","status"],"items":{"type":"object","properties":{"collectionItemId":{"type":"string"},"targetId":{"type":"string"},"targetType":{"type":"string","enum":["test","note","content"]},"status":{"type":"string"},"lastSeen":{"type":"string","nullable":true},"firstSeen":{"type":"string","nullable":true},"timesSeen":{"type":"number"}}}}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CollectionSubFolder object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionSubFolder":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","readOnly":true,"enum":["sub-folder"]},"name":{"type":"string","readOnly":false,"minLength":1,"maxLength":150}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionItem","CollectionItemAudio","CollectionItemDocument","CollectionItemEmbed","CollectionItemNote","CollectionItemQuiz","CollectionItemVideo","CollectionItemZip"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The CollectionTagBreakdown object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CollectionTagBreakdown":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionTagBreakdown"]},"attributes":{"type":"object","properties":{"totalQuestions":{"type":"number","readOnly":true},"tagDataList":{"type":"array","items":{"type":"object"}}}},"relationships":{"type":"object","properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Content object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Content":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":false,"minLength":1},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","enum":["audio","document","embed","video","zip","image"],"readOnly":true},"attachmentMimeType":{"type":"string","readOnly":true,"nullable":true},"isLibraryItem":{"type":"boolean","readOnly":true},"isArchived":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"attachment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"embedData":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ContentEmbedDatum"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The ContentEmbedDatum object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ContentEmbedDatum":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ContentEmbedDatum"]},"attributes":{"type":"object","required":["type","source"],"properties":{"type":{"type":"string","enum":["iframe","video"],"readOnly":false},"source":{"type":"string","readOnly":false},"url":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true},"thumbnailUrl":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Course object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Course":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false,"nullable":false,"minLength":1},"description":{"type":"string","readOnly":false,"nullable":true},"isArchived":{"type":"boolean","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"versionNumber":{"type":"number","readOnly":true},"publishedAt":{"type":"string","readOnly":true},"totalItems":{"type":"number","readOnly":true}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CourseItem","CourseItemAudio","CourseItemDocument","CourseItemEmbed","CourseItemNote","CourseItemQuiz","CourseItemScorm","CourseItemSurvey","CourseItemTextEntry","CourseItemUpload","CourseItemVideo","CourseItemZip"]}]}}}}}},"folders":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CourseFolder"]}]}}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The CourseFolder object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseFolder":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","readOnly":false,"minLength":1,"maxLength":150},"imageUrl":{"type":"string","readOnly":false,"nullable":true}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CourseItemAudio","CourseItemDocument","CourseItemEmbed","CourseItemNote","CourseItemQuiz","CourseItemScorm","CourseItemSurvey","CourseItemTextEntry","CourseItemUpload","CourseItemVideo","CourseItemZip"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The CourseItem object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItem":{"anyOf":[{"$ref":"#/components/schemas/CourseItemAudio"},{"$ref":"#/components/schemas/CourseItemDocument"},{"$ref":"#/components/schemas/CourseItemEmbed"},{"$ref":"#/components/schemas/CourseItemNote"},{"$ref":"#/components/schemas/CourseItemQuiz"},{"$ref":"#/components/schemas/CourseItemScorm"},{"$ref":"#/components/schemas/CourseItemSurvey"},{"$ref":"#/components/schemas/CourseItemTextEntry"},{"$ref":"#/components/schemas/CourseItemUpload"},{"$ref":"#/components/schemas/CourseItemVideo"},{"$ref":"#/components/schemas/CourseItemZip"}]},"CourseItemAudio":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemAudio"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["audio"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"audio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"CourseItemDocument":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemDocument"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["document"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"document":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"CourseItemEmbed":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemEmbed"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["embed"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"embed":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"CourseItemNote":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemNote"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["note"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"note":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Note"]}}}}}}}}},"CourseItemQuiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemQuiz"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["quiz"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"passScore":{"type":"number","readOnly":false,"nullable":true},"quizMode":{"type":"string","enum":["practice","exam","timedExam"],"readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"CourseItemScorm":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemScorm"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["scorm"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"scorm":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ScormCourse"]}}}}}}}}},"CourseItemSurvey":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemSurvey"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["survey"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"survey":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Survey"]}}}}}}}}},"CourseItemTextEntry":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemTextEntry"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["textEntry"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"wordLimit":{"type":"number","minimum":0,"nullable":true,"readOnly":false},"multiLine":{"type":"boolean","nullable":false,"readOnly":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}}}}}},"CourseItemUpload":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemUpload"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["upload"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"contentType":{"type":"string","readOnly":false,"enum":["audio","document","video","zip","image"]}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}}}}}},"CourseItemVideo":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemVideo"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["video"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"video":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"CourseItemZip":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemZip"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["zip"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"zip":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}}}}}
```

## The CourseItemAudio object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemAudio":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemAudio"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["audio"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"audio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemDocument object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemDocument":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemDocument"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["document"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"document":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemEmbed object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemEmbed":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemEmbed"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["embed"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"embed":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemNote object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemNote":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemNote"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["note"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"note":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Note"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemQuiz object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemQuiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemQuiz"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["quiz"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"passScore":{"type":"number","readOnly":false,"nullable":true},"quizMode":{"type":"string","enum":["practice","exam","timedExam"],"readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemScorm object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemScorm":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemScorm"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["scorm"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"scorm":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ScormCourse"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemSurvey object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemSurvey":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemSurvey"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["survey"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"survey":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Survey"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemTextEntry object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemTextEntry":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemTextEntry"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["textEntry"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"wordLimit":{"type":"number","minimum":0,"nullable":true,"readOnly":false},"multiLine":{"type":"boolean","nullable":false,"readOnly":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemUpload object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemUpload":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemUpload"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["upload"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"contentType":{"type":"string","readOnly":false,"enum":["audio","document","video","zip","image"]}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemVideo object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemVideo":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemVideo"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["video"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"video":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CourseItemZip object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CourseItemZip":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseItemZip"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["zip"]},"isReviewRequired":{"type":"boolean","readOnly":false,"nullable":false},"shouldPreview":{"type":"boolean","readOnly":false,"nullable":false},"allowDownload":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CourseFolder"]}}}}},"zip":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The CustomInsight object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"CustomInsight":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CustomInsight"]},"attributes":{"type":"object","properties":{"insightType":{"type":"string","readOnly":true,"enum":["studentProgress"]},"insightData":{"type":"array","items":{}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Document object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Document":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Document"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":true},"contentType":{"type":"string","enum":["certificate","exam-paper","exam-result","report"],"readOnly":true},"targetType":{"type":"string","enum":["Exam","User","UserGroup"],"readOnly":true},"targetId":{"type":"string","readOnly":true},"key":{"type":"string","readOnly":true},"url":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The EmailVerification object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"EmailVerification":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["EmailVerification"]},"attributes":{"type":"object","properties":{"verified":{"type":"boolean","enum":[true],"readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The EmqGroupExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"EmqGroupExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["EmqGroupExport"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","required":["quiz"],"properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The EmqGroupImport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"EmqGroupImport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["EmqGroupImport"]},"attributes":{"type":"object","properties":{"csvUrl":{"type":"string","readOnly":true},"fieldMap":{"type":"object","readOnly":true}}},"relationships":{"type":"object","properties":{"backgroundJob":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BackgroundJob"]}}}}},"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The EmqGroupImportValidation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"EmqGroupImportValidation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["EmqGroupImportValidation"]},"attributes":{"type":"object","properties":{"toCreate":{"type":"number","readOnly":true},"toUpdate":{"type":"number","readOnly":true},"toDelete":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The EnrichedAttempt object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"EnrichedAttempt":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["EnrichedAttempt"]},"attributes":{"type":"object","properties":{"testId":{"type":"string"},"testName":{"type":"string"},"examId":{"type":"string","nullable":true},"examName":{"type":"string","nullable":true},"examStatus":{"type":"string","nullable":true,"enum":["enrolled","expired","notified","preflight","revoked","started","submitted","cancelled"]},"submissionType":{"type":"string","nullable":true,"enum":["user","system","moderator","userTimedOut","abandoned",null]},"schedule":{"type":"object","properties":{"activateAt":{"type":"string"},"deactivateAt":{"type":"string","nullable":true}}},"certificateLink":{"type":"string"},"grade":{"nullable":true,"type":"object","properties":{"label":{"type":"string"},"isPass":{"type":"boolean"}}},"marks":{"nullable":true,"readOnly":true,"type":"object","properties":{"points":{"type":"number"},"maxPoints":{"type":"number"},"credits":{"type":"number"},"penalties":{"type":"number"}}},"createdAt":{"type":"string","nullable":true,"readOnly":true},"timeStarted":{"type":"string","nullable":true},"timeCompleted":{"type":"string","nullable":true},"timeTaken":{"type":"number","nullable":true},"proctorStatus":{"type":"string","nullable":true,"enum":["disabled","enabled","failed","inReview","passed","readyForReview","reviewNotRequired","autoApproved","error"]},"proctorVendor":{"type":"string","nullable":true,"enum":["rosalyn","synopticV2"]},"proctorSessionId":{"type":"string","nullable":true},"proctorBreaches":{"type":"number","nullable":true},"markingStatus":{"type":"string","nullable":true,"enum":["completed","inProgress","notStarted","readyToFinalise","finalised"]},"resultsStatus":{"type":"string","nullable":true,"enum":["finalised","pending","released"]},"resultsPageHidden":{"type":"boolean","nullable":true},"resultsScoreHidden":{"type":"boolean","nullable":true},"score":{"type":"number","nullable":true},"isArchived":{"type":"boolean","readOnly":true},"passFailEnabled":{"type":"boolean","nullable":true},"releasedBy":{"type":"string","nullable":true},"finalisedBy":{"type":"string","nullable":true},"finalisedAt":{"type":"string","nullable":true},"releasedAt":{"type":"string","nullable":true},"corrections":{"type":"object","readOnly":true,"description":"Post-hoc corrections to the result (overrides, re-grades, exam-version re-marks). Absent when the result was never corrected, or was corrected before this was recorded. Only present for staff viewers.","required":["count","lastAt","lastKind"],"properties":{"count":{"type":"integer","minimum":1},"lastAt":{"type":"string","format":"date-time"},"lastKind":{"type":"string","enum":["markingEntryOverride","maxPointsOverride","regrade","questionRemark","attemptOverride"]}}},"version":{"type":"string","readOnly":true},"loginCode":{"type":"string","readOnly":true,"nullable":true,"description":"The candidate's code-login credential. Only present for requesters who can edit the exam, and only on attempts of exams with code login enabled."}}},"relationships":{"type":"object","properties":{"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"finalisedBy":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"releasedBy":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"assignedMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"assignedModeratingMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"assignedProvisionalMarkers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The EnrichedAttemptOption object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"EnrichedAttemptOption":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["EnrichedAttemptOption"]},"attributes":{"type":"object","properties":{"type":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"readOnly":true},"options":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Exam-V-2 object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Exam-V-2":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true},"directUserRegistrationEnabled":{"type":"boolean","readOnly":true,"description":"If true, the exam will created with an implicit user group and users can be registered directly into the exam without the need for user group management."},"isDynamic":{"type":"boolean","readOnly":true},"isSectioned":{"type":"boolean","readOnly":true},"shortDescription":{"type":"string","nullable":true},"preExamInstructions":{"type":"string","nullable":true},"markingDoubleEnabled":{"type":"boolean"},"markingDoubleAllocation":{"type":"string","enum":["manual","roundRobin"],"nullable":true},"markingDoubleMinMarkers":{"type":"number","nullable":true},"markingDoubleSequence":{"type":"string","enum":["parallel","serial"],"nullable":true},"markingBlindProvisionalMarker":{"type":"boolean"},"markingBlindModeratingMarker":{"type":"boolean"},"markingBlindEscalationMarker":{"type":"boolean"},"markingBlindBackReadingMarker":{"type":"boolean"},"markingBlindAuditingMarker":{"type":"boolean"},"markingBlindIsolate":{"type":"boolean"},"markerConcealmentProvisional":{"type":"boolean"},"markerConcealmentModerating":{"type":"boolean"},"markerConcealmentEscalation":{"type":"boolean"},"markerConcealmentAuditing":{"type":"boolean"},"markingEscalationEnabled":{"type":"boolean"},"markingEscalationModeratorsCanEscalate":{"type":"boolean"},"markingEscalationReasons":{"type":"array","minItems":1,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"}}}},"markingBackReadingEnabled":{"type":"boolean"},"markingAuditingEnabled":{"type":"boolean"},"markingResolutionEnabled":{"type":"boolean"},"markingShowAllMarkerFeedback":{"type":"boolean"},"notificationAutomateEmails":{"type":"boolean"},"notificationResultsEmailEnabled":{"type":"boolean"},"hideFromCandidateList":{"type":"boolean"},"markingModeratingMarkerAllocation":{"type":"string","enum":["manual","roundRobin"],"nullable":true},"markingProvisionalMarkerAllocation":{"type":"string","enum":["manual","roundRobin"],"nullable":true},"markingEscalationMarkerAllocation":{"type":"string","enum":["manual","roundRobin"],"nullable":true},"markingModeratingMarkerGranularity":{"type":"string","enum":["attempt","question"],"nullable":true},"markingProvisionalMarkerGranularity":{"type":"string","enum":["attempt","question"],"nullable":true},"markingEscalationMarkerGranularity":{"type":"string","enum":["attempt","question"],"nullable":true},"ipAllowList":{"type":"array","readOnly":false,"nullable":true,"minItems":1,"items":{"type":"string"}},"lockedByDefault":{"type":"boolean","readOnly":false,"nullable":true},"lockedByDefaultScope":{"type":"string","enum":["allAttempts","excludeResits"],"readOnly":false,"nullable":true},"resumeSameSession":{"type":"boolean","readOnly":false,"nullable":true},"resumeAllowed":{"type":"boolean","readOnly":false,"nullable":true},"passcodeEnabled":{"type":"boolean","readOnly":false,"nullable":false},"passcodeValue":{"type":"string","readOnly":false,"nullable":true},"codeLoginEnabled":{"type":"boolean","readOnly":false,"nullable":false},"codeLoginVerifyWith":{"type":"array","readOnly":false,"nullable":true,"description":"Corroborating details a per-attempt login code asks for. Empty means none. Ignored when codeLoginSharedCode is on.","items":{"type":"string","enum":["surname","externalId"]}},"codeLoginSharedCode":{"type":"boolean","readOnly":false,"nullable":false,"description":"Every candidate sitting the exam signs in with the exam's id as their code, identifying themselves with both their external ID and their surname. Ignores codeLoginVerifyWith."},"codeLoginGenerateMissingAttempt":{"type":"boolean","readOnly":false,"nullable":false,"description":"Create an attempt during a shared-code sign-in for a student on the portal who does not have one yet."},"candidateSource":{"type":"string","readOnly":false,"nullable":false,"enum":["defaultGroup","examWindows"],"description":"Where candidates come from. defaultGroup (the default when unset) issues an attempt to every member of the user group on publish; examWindows issues nothing on publish and leaves enrolment to Exam Windows. Can only be changed while the exam has no attempts."},"attr":{"type":"object"},"isArchived":{"type":"boolean"},"mutexLockKey":{"type":"string","nullable":true,"readOnly":true},"mutexLockExpiresAt":{"type":"string","nullable":true,"readOnly":true},"mutexLockType":{"type":"string","enum":["full","write"],"readOnly":true},"testVersions":{"type":"object","readOnly":true,"properties":{"DRAFT":{"type":"string"}},"additionalProperties":{"oneOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"publishedBy":{"type":"string"},"publishedAt":{"type":"string"},"status":{"type":"string","enum":["draft","published","closed","cancelled"]},"scheduleOpenDate":{"type":"string","nullable":true},"scheduleCloseDate":{"type":"string","nullable":true},"previousVersionId":{"type":"string","nullable":true}}}]}},"resultEducatorsViewAsAdminEnabled":{"type":"boolean"},"resultDetailedViewEnabled":{"type":"boolean"}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}},"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"markers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"moderatingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"escalatingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"auditingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"backReadingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"setupJob":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BackgroundJob"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"publishedVersion":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"currentVersion":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The ExamAttemptHeadlineInsight object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamAttemptHeadlineInsight":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamAttemptHeadlineInsight"]},"attributes":{"type":"object","properties":{"generated":{"type":"number","readOnly":true},"notStarted":{"type":"number","readOnly":true},"inProgress":{"type":"number","readOnly":true},"submitted":{"type":"number","readOnly":true},"passCount":{"type":"number","readOnly":true},"passPercentage":{"type":"number","readOnly":true},"averageScore":{"type":"number","readOnly":true},"candidateCount":{"type":"number","readOnly":true},"passedCandidateCount":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"examV2":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamCandidateExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamCandidateExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamCandidateExport"]},"attributes":{"type":"object","properties":{"attemptIds":{"type":"array","items":{"type":"string"}},"filter":{"type":"object","properties":{"propertyFilters":{"type":"array","description":"Candidate attribute filters. Each attribute may appear only once.","items":{"type":"object","required":["attribute","value"],"properties":{"attribute":{"type":"string","pattern":"^filter\\.attr\\.[a-z0-9_-]+$"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]},"operator":{"type":"string","enum":["$eq","$ne","$exists","$gt","$gte","$lt","$lte","$in","$nin","$or"]}}}},"examStatus":{"type":"array","items":{"type":"string","enum":["enrolled","notified","preflight","started","submitted","revoked","expired","cancelled"]}},"markingStatus":{"type":"array","items":{"type":"string","enum":["notStarted","inProgress","readyToFinalise","finalised","completed"]}},"gradeStatus":{"type":"array","items":{"type":"string","enum":["passed","failed"]}},"proctorStatus":{"type":"array","items":{"type":"string","enum":["disabled","enabled","readyForReview","reviewNotRequired","autoApproved","inReview","passed","failed","error"]}},"resultStatus":{"type":"array","items":{"type":"string","enum":["pending","finalised","released"]}},"lockStatus":{"type":"array","items":{"type":"string","enum":["locked","unlocked","none"]}},"systemsCheckStatus":{"type":"array","items":{"type":"string","enum":["notRun","inProgress","passed","attention"]}},"testVersions":{"type":"array","items":{"type":"string"}},"isArchived":{"type":"boolean"},"isCompleted":{"type":"boolean"}}},"search":{"type":"string"}}},"relationships":{"type":"object","properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamEnrolment object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamEnrolment":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamEnrolment"]},"attributes":{"type":"object","properties":{"issued":{"type":"integer","readOnly":true,"description":"Candidates issued a new attempt."},"alreadyIssued":{"type":"integer","readOnly":true,"description":"Candidates who already held an attempt in the window, or on the exam when registering directly."},"failedUserIds":{"type":"array","readOnly":true,"items":{"type":"string"},"description":"Candidates who could not be issued."}}},"relationships":{"type":"object","required":["examV2"],"properties":{"examV2":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":false,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"examWindow":{"type":"object","description":"Omit to register candidates directly on an exam that allows it.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamWindow"]}}}}},"users":{"type":"object","description":"Fewer than five are issued in the request; more are queued. Provide this or `userGroup`.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"userGroup":{"type":"object","description":"Every current member is queued for issue. Provide this or `users`.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The ExamHall object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamHall":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamHall"]},"attributes":{"type":"object","properties":{"ip":{"type":"object","properties":{"address":{"type":"string"},"allowed":{"type":"boolean"}}},"resume":{"type":"object","properties":{"allowed":{"type":"boolean"},"sessionMismatch":{"type":"boolean"}}},"includesAudioQuestions":{"type":"boolean","readOnly":true,"nullable":false},"includesVideoQuestions":{"type":"boolean","readOnly":true,"nullable":false},"includesWebcamCaptureQuestions":{"type":"boolean","readOnly":true,"nullable":false},"includesAudioStems":{"type":"boolean","readOnly":true,"nullable":false},"questionsSettings":{"type":"array","readOnly":true,"items":{"type":"object","properties":{"questionId":{"type":"string","readOnly":true},"questionSettings":{"type":"object","properties":{"timerTimeInMs":{"type":"number","readOnly":true,"nullable":true}}}}}},"extraTimeMultiplier":{"type":"number","readOnly":true,"nullable":true},"title":{"type":"string","readOnly":true},"status":{"type":"string","enum":["draft","published","cancelled","closed"],"readOnly":true},"scheduleOpenDate":{"type":"string","readOnly":true,"nullable":true},"scheduleCloseDate":{"type":"string","readOnly":true,"nullable":true},"scheduleSubmissionDueDate":{"type":"string","readOnly":true,"nullable":true},"resitType":{"type":"string","enum":["continuous","fixedDate","onDemand","rolling",null],"readOnly":true,"nullable":true},"resitMode":{"type":"string","enum":["standard","fixed","progressive","preferUnseen","failedSectionsOnly",null],"readOnly":true,"nullable":true},"resitGradeIndependent":{"type":"boolean","readOnly":true,"nullable":true},"resitAllowedAttempts":{"type":"number","readOnly":true,"nullable":true},"legalEnabled":{"type":"boolean","readOnly":true},"legalTitle":{"type":"string","readOnly":true,"nullable":true},"legalBody":{"type":"string","readOnly":true,"nullable":true},"legalCheckboxLabel":{"type":"string","readOnly":true,"nullable":true},"legalConfirmationType":{"type":"string","enum":["checkbox","staticText","candidateName"],"readOnly":true,"nullable":true},"legalConfirmationStaticText":{"type":"string","readOnly":true,"nullable":true},"proctorEnabled":{"type":"boolean","readOnly":true},"proctorVendor":{"type":"string","enum":["rosalyn","synopticV2",null],"readOnly":true,"nullable":true},"proctorRequireSecondCamera":{"type":"boolean","readOnly":true,"nullable":true},"proctorRequireFullscreen":{"type":"boolean","readOnly":true},"proctorRestrictTabs":{"type":"boolean","readOnly":true},"proctorRestrictDisplays":{"type":"boolean","readOnly":true},"proctorRecordSession":{"type":"boolean","readOnly":true},"proctorRecordSnapshots":{"type":"boolean","readOnly":true},"proctorRecordDesktop":{"type":"boolean","readOnly":true},"proctorSynopticLevel":{"type":"string","enum":["web","browser","desktop"],"readOnly":true},"proctorScreenMonitoring":{"type":"string","enum":["none","recreation","recreationWithSnapshots","video"],"readOnly":true},"proctorWebcamMonitoring":{"type":"string","enum":["none","snapshots","audioVideo"],"readOnly":true},"proctorRestrictKeyboardShortcuts":{"type":"boolean","readOnly":true},"proctorScreenshotPrevention":{"type":"boolean","readOnly":true,"nullable":true},"proctorAiReview":{"type":"boolean","readOnly":true},"proctorLiveAiDetection":{"type":"boolean","readOnly":true},"proctorAiFlagCandidateLeftFrame":{"type":"boolean","readOnly":true},"proctorAiFlagMultiplePeopleInFrame":{"type":"boolean","readOnly":true},"proctorAiPrompts":{"type":"array","readOnly":true,"nullable":true,"items":{"type":"object","properties":{"prompt":{"type":"string"},"level":{"type":"string","enum":["info","warning","breach"]},"colour":{"type":"string","nullable":true},"enabled":{"type":"boolean","nullable":true}}}},"proctorOnBreach":{"type":"string","enum":["freeze","silent",null],"readOnly":true,"nullable":true},"proctorLiveProctoring":{"type":"boolean","readOnly":true},"proctorBlockedApplicationsPolicy":{"type":"string","enum":["none","default",null],"readOnly":true,"nullable":true},"proctorReviewOptional":{"type":"boolean","readOnly":true},"proctorReviewMode":{"type":"string","enum":["always","never","onBreach",null],"readOnly":true,"nullable":true},"proctorRoomScanCoverage":{"type":"string","enum":["off","workspace","full",null],"nullable":true},"proctorRoomScanDevice":{"type":"string","enum":["phone","webcam","either",null],"nullable":true},"identityCheckRequired":{"type":"boolean","readOnly":true},"identityCheckFailureAction":{"type":"string","enum":["flag","block",null],"readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"examV2":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"attemptLock":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttemptLock"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamineeNotification object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamineeNotification":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamineeNotification"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam"]}}}}},"examV2":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamModerationReadinessReport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamModerationReadinessReport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamModerationReadinessReport"]},"attributes":{"type":"object","properties":{"ready":{"type":"boolean","readOnly":true},"advisory":{"type":"boolean","readOnly":true,"description":"Always true. Readiness is a time-of-check answer, never a lock: an attempt can start or a marking session can open immediately after this read."},"inProgressAttempts":{"type":"object","readOnly":true,"properties":{"count":{"type":"number"},"attemptIds":{"type":"array","items":{"type":"string"}},"attemptIdsTruncated":{"type":"boolean","description":"True when attemptIds is a clipped sample, so count is larger than its length. Every count in this report is uncapped; only the itemised samples are."}}},"openMarkingSessions":{"type":"object","readOnly":true,"properties":{"markerCount":{"type":"number"},"sessionCount":{"type":"number"},"responseCount":{"type":"number"},"questionScopedSessionCount":{"type":"number","description":"Reads as 0 until question-scoped marking sessions are persisted; no flow creates them yet."},"markers":{"type":"array","items":{"type":"object","properties":{"markerId":{"type":"string"},"sessionCount":{"type":"number"},"sessionIds":{"type":"array","items":{"type":"string"}},"sessionIdsTruncated":{"type":"boolean"},"responseCount":{"type":"number"},"questionScopedSessionCount":{"type":"number"},"questionCount":{"type":"number"},"questionsTruncated":{"type":"boolean"},"questions":{"type":"array","description":"Per-question breakdown of the marker's question-scoped sessions, heaviest first. Empty until question-scoped marking sessions are persisted; no flow creates them yet.","items":{"type":"object","properties":{"questionId":{"type":"string"},"sessionCount":{"type":"number"}}}}}}}}},"blockers":{"type":"array","readOnly":true,"description":"The blockers a hard moderation gate would raise, verbatim. Empty when ready.","items":{"type":"object","properties":{"path":{"type":"string"},"message":{"type":"string"},"meta":{"type":"object","additionalProperties":true}}}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamPreview object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamPreview":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamPreview"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"examV2":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamQuestionRemark object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamQuestionRemark":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamQuestionRemark"]},"attributes":{"type":"object","properties":{"dryRun":{"type":"boolean","default":false,"description":"Report what the run would touch (see `meta.preview`) and write nothing; answered with 200 and no background job."},"notifyCandidates":{"type":"boolean","default":false,"description":"Email each released candidate whose marks or outcome moved a short notice that their results were updated, with a link and no marks; the exam’s results-email setting and hidden-results page still apply."},"testVersion":{"type":"string","readOnly":true,"nullable":true,"description":"The exam version the question belongs to."},"testIds":{"type":"array","readOnly":true,"items":{"type":"string"},"description":"The version’s test and its dynamic variants, which share the question."},"isLiveVersion":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"question":{"type":"object","description":"The question as edited on the version; it names the version, so one call covers that version and its variants and no other.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Question"]}}}}},"backgroundJob":{"type":"object","description":"The queued run; poll `GET /v3/background-jobs/{id}` for progress and its `result`. Absent on a dry run.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BackgroundJob"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamQuestionStats object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamQuestionStats":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamQuestionStats"]},"attributes":{"type":"object","properties":{"averageCredits":{"type":"number","readOnly":true},"averageScore":{"type":"number","readOnly":true},"totalResponses":{"type":"number","readOnly":true},"correctResponses":{"type":"number","readOnly":true},"incorrectResponses":{"type":"number","readOnly":true},"partiallyCorrectResponses":{"type":"number","readOnly":true},"skippedResponses":{"type":"number","readOnly":true},"totalOptions":{"type":"number","readOnly":true},"correctOptions":{"type":"number","readOnly":true},"itemDifficultyChance":{"type":"number","readOnly":true,"nullable":true},"itemDifficultyPValue":{"type":"number","readOnly":true},"itemDiscriminationType":{"type":"string","readOnly":true,"nullable":true},"itemDiscriminationValue":{"type":"number","readOnly":true,"nullable":true},"optionsBreakdown":{"type":"object","readOnly":true},"examTestVersion":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"question":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}},"sourceQuestion":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["EmqGroup"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Section"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The ExamQuestionStatsExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamQuestionStatsExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamQuestionStatsExport"]},"attributes":{"type":"object","properties":{"examId":{"type":"string"},"version":{"type":"string","pattern":"^[0-9]+$"},"versions":{"type":"array","maxItems":50,"items":{"type":"string","pattern":"^[0-9]+$"}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamSchedule object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamSchedule":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamSchedule"]},"attributes":{"type":"object","required":["activateAt"],"properties":{"activateAt":{"type":"string","readOnly":false},"deactivateAt":{"type":"string","nullable":true,"readOnly":false},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true}}},"relationships":{"type":"object","properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamStats object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamStats":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamStats"]},"attributes":{"type":"object","properties":{"cronbachAlpha":{"type":"number","readOnly":true,"nullable":true},"kr20":{"type":"number","readOnly":true,"nullable":true},"isDichotomous":{"type":"boolean","readOnly":true},"totalCandidates":{"type":"number","readOnly":true},"submittedAttempts":{"type":"number","readOnly":true},"averageScore":{"type":"number","readOnly":true},"passCount":{"type":"number","readOnly":true},"passPercentage":{"type":"number","readOnly":true},"meanScore":{"type":"number","readOnly":true},"meanScorePercentage":{"type":"number","readOnly":true},"itemCount":{"type":"number","readOnly":true},"scoreDistribution":{"type":"object","readOnly":true,"description":"Score-distribution counts keyed by 1% score bands such as band0_1 and band99_100.","additionalProperties":{"type":"number"}},"outcomeCounts":{"type":"object","readOnly":true,"properties":{"correct":{"type":"number"},"incorrect":{"type":"number"},"partial":{"type":"number"},"skipped":{"type":"number"},"excluded":{"type":"number"}}},"gradeBreakdown":{"type":"object","readOnly":true,"description":"For graded exams, grade label to count of users achieving that grade.","additionalProperties":{"type":"number"}},"gradeOverrideCount":{"type":"number","readOnly":true,"description":"For graded exams, the number of submitted attempts with a manual grade override applied."},"revokedCount":{"type":"number","readOnly":true,"description":"Number of revoked attempts included in the exam stats aggregates."},"resitGradeBreakdown":{"type":"object","readOnly":true,"description":"For graded exams, grade label to count across submitted resit attempts in scope.","additionalProperties":{"type":"number"}},"lifecycle":{"type":"object","readOnly":true,"description":"Attempt lifecycle counts: generated, not started, in progress, and submitted.","properties":{"generated":{"type":"number"},"notStarted":{"type":"number"},"inProgress":{"type":"number"},"submitted":{"type":"number"}}},"resits":{"type":"object","readOnly":true,"description":"First-sit vs resit attempt counts.","properties":{"firstSit":{"type":"number"},"resit":{"type":"number"}}}}},"relationships":{"type":"object","properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamTagStatsExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamTagStatsExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamTagStatsExport"]},"attributes":{"type":"object","properties":{"examId":{"type":"string"},"version":{"type":"string","pattern":"^[0-9]+$"},"versions":{"type":"array","maxItems":50,"items":{"type":"string","pattern":"^[0-9]+$"}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamTemplate object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamTemplate":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamTemplate"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"type":"string","nullable":true},"isDynamic":{"type":"boolean","readOnly":true},"isArchived":{"type":"boolean","readOnly":false},"dynamicIsSectioned":{"type":"boolean","nullable":true},"dynamicFiltersWeightingType":{"type":"string","enum":["absolute","percentage",null],"nullable":true},"dynamicFilterRules":{"nullable":true,"type":"array","minItems":0,"maxItems":125,"description":"Array of filter rules to apply to the dynamic quiz content.","items":{"type":"object","properties":{"weighting":{"type":"number"},"shuffleQuestions":{"type":"boolean"},"matchingRules":{"type":"array","minItems":0,"maxItems":20,"description":"Array of matching rules to apply to the filter rule. Each rule will be treated as an AND operation. Matching rules can not be a mix of tag and EMQ rules.","items":{"oneOf":[{"anyOf":[{"type":"object","required":["tagId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["tagId"],"properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}}}]},{"anyOf":[{"type":"object","required":["emqGroupId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["emqGroupId"],"properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}}}]},{"anyOf":[{"type":"object","required":["questionId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["questionId"],"properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}}}]}]}}}}},"lockedByDefault":{"type":"boolean","nullable":true},"lockedByDefaultScope":{"type":"string","enum":["allAttempts","excludeResits"],"nullable":true},"ipAllowList":{"type":"array","items":{"type":"string"},"nullable":true},"resumeAllowed":{"type":"boolean","nullable":true},"resumeSameSession":{"type":"boolean","nullable":true},"passcodeEnabled":{"type":"boolean","nullable":true},"passcodeValue":{"type":"string","nullable":true},"hideFromCandidateList":{"type":"boolean","nullable":true},"allowedMode":{"type":"string","nullable":true},"allowedPlayers":{"type":"array","items":{"type":"string"},"nullable":true},"passFailEnabled":{"type":"boolean","nullable":true},"calculatorEnabled":{"type":"boolean","nullable":true},"calculatorType":{"type":"string","nullable":true},"notepadEnabled":{"type":"boolean","nullable":true},"resizableQuestionPanelsEnabled":{"type":"boolean","nullable":true},"strikethroughEnabled":{"type":"boolean","nullable":true},"highlightingEnabled":{"type":"boolean","nullable":true},"bookmarkingEnabled":{"type":"boolean","nullable":true},"flaggingEnabled":{"type":"boolean","nullable":true},"micEnabled":{"type":"boolean","nullable":true},"resumeLaterButtonEnabled":{"type":"boolean","nullable":true},"labValuesEnabled":{"type":"boolean","nullable":true},"labValuesHtml":{"type":"string","nullable":true},"additionalInformationEnabled":{"type":"boolean","nullable":true},"additionalInformationHtml":{"type":"string","nullable":true},"additionalInformationTitle":{"type":"string","nullable":true},"additionalInformationIcon":{"type":"string","nullable":true},"externalPlayerType":{"type":"string","nullable":true},"deferResultEnabled":{"type":"boolean","nullable":true},"deferResultAlwaysRelease":{"type":"boolean","nullable":true},"deferResultMessage":{"type":"string","nullable":true},"optionShuffling":{"type":"string","nullable":true},"questionShuffling":{"type":"string","nullable":true},"sectionShufflingEnabled":{"type":"boolean","nullable":true},"softSectionsEnabled":{"type":"boolean","nullable":true},"sectionGradesEnabled":{"type":"boolean","nullable":true},"advancedGradingEnabled":{"type":"boolean","nullable":true},"availableMarksEnabled":{"type":"boolean","nullable":true},"pinnedMessageDuringTest":{"type":"string","nullable":true},"excludeInformationalQuestionsFromCounts":{"type":"boolean","nullable":true},"timerEnabled":{"type":"boolean","nullable":true},"timerTimeInMs":{"type":"number","nullable":true},"timerUseSections":{"type":"boolean","nullable":true},"timerUseQuestions":{"type":"boolean","nullable":true},"timerEnforceFullTime":{"type":"boolean","nullable":true},"timerExtraTimeMultiplier":{"type":"number","nullable":true},"timerSoftTimer":{"type":"boolean","nullable":true},"disableCopying":{"type":"boolean","nullable":true},"disablePasting":{"type":"boolean","nullable":true},"disableRightClick":{"type":"boolean","nullable":true},"disableNavigation":{"type":"boolean","nullable":true},"disableControlPanel":{"type":"boolean","nullable":true},"disableNotifications":{"type":"boolean","nullable":true},"styleTheme":{"type":"string","nullable":true},"styleFontSize":{"type":"string","nullable":true},"creditsPerQuestion":{"type":"number","nullable":true},"enablePenalties":{"type":"boolean","nullable":true},"penaltiesPerQuestion":{"type":"number","nullable":true},"partialCreditsPerQuestion":{"type":"number","nullable":true},"grades":{"type":"array","nullable":true,"items":{"type":"object","required":["label","minScore"],"properties":{"label":{"type":"string"},"description":{"type":"string","nullable":true},"minScore":{"type":"number","nullable":true},"isPass":{"type":"boolean","nullable":true},"advancedCriteria":{"type":"object","nullable":true,"properties":{"sectionRequirements":{"type":"object","nullable":true,"properties":{"type":{"type":"string"},"count":{"type":"number","nullable":true},"sectionIds":{"type":"array","items":{"type":"string"},"nullable":true}}},"excludeFromResitAttempts":{"type":"boolean","nullable":true}}}}}},"instructionsEnabled":{"type":"boolean","nullable":true},"instructionsTitle":{"type":"string","nullable":true},"instructionsBody":{"type":"string","nullable":true},"instructionsTimerDurationMs":{"type":"number","nullable":true},"instructionsEnforcedTimer":{"type":"string","nullable":true},"instructionsAudioAutoAdvance":{"type":"string","nullable":true},"instructionsAudioAutoAdvanceDelayMs":{"type":"number","minimum":0,"maximum":3600000,"nullable":true},"instructionsAudioAutoPlay":{"type":"boolean","nullable":true},"instructionsDisableAudioControls":{"type":"boolean","nullable":true},"resultDetailedViewEnabled":{"type":"boolean","nullable":true},"resultEducatorsViewAsAdminEnabled":{"type":"boolean","nullable":true},"resultHideResultsPage":{"type":"boolean","nullable":true},"resultGlobalHideScore":{"type":"boolean","nullable":true},"resultScoreEnabled":{"type":"boolean","nullable":true},"resultTimeSpentEnabled":{"type":"boolean","nullable":true},"resultGradeEnabled":{"type":"boolean","nullable":true},"resultSectionBreakdownEnabled":{"type":"boolean","nullable":true},"resultSectionBreakdownGradeEnabled":{"type":"boolean","nullable":true},"resultSectionBreakdownScoreEnabled":{"type":"boolean","nullable":true},"resultQuestionBreakdownDisplay":{"type":"string","nullable":true},"resultAnalyticsCohort":{"type":"string","nullable":true},"resultCohortAverageEnabled":{"type":"boolean","nullable":true},"resultPercentileEnabled":{"type":"boolean","nullable":true},"resultScoreDistributionEnabled":{"type":"boolean","nullable":true},"resultTagBreakdownEnabled":{"type":"boolean","nullable":true},"resultProgressEnabled":{"type":"boolean","nullable":true},"resultFacetSubjectEnabled":{"type":"boolean","nullable":true},"resultFacetTopicEnabled":{"type":"boolean","nullable":true},"resultFacetSubtopicEnabled":{"type":"boolean","nullable":true},"resultFacetSkillEnabled":{"type":"boolean","nullable":true},"resultFacetDifficultyEnabled":{"type":"boolean","nullable":true},"resultMessagePassed":{"type":"string","nullable":true},"resultMessageFailed":{"type":"string","nullable":true},"resultMessageResitsRemaining":{"type":"string","nullable":true},"resultMessageNoResitsRemaining":{"type":"string","nullable":true},"resultMessageCompleted":{"type":"string","nullable":true},"resultMessageSettingHideTitle":{"type":"boolean","nullable":true},"resultHiddenMessage":{"type":"string","nullable":true},"resultHiddenSettingHideTitle":{"type":"boolean","nullable":true},"resultOverviewWhenPassedMessage":{"type":"string","nullable":true},"resultOverviewWhenFailedHasResitsMessage":{"type":"string","nullable":true},"resultOverviewWhenFailedNoResitsMessage":{"type":"string","nullable":true},"resultOverviewWhenCompleteNoGradesMessage":{"type":"string","nullable":true},"resultOverviewWhenCompletedNeutralGradesMessage":{"type":"string","nullable":true},"markingDoubleEnabled":{"type":"boolean","nullable":true},"markingDoubleAllocation":{"type":"string","nullable":true},"markingDoubleMinMarkers":{"type":"number","nullable":true},"markingDoubleSequence":{"type":"string","nullable":true},"markingBlindProvisionalMarker":{"type":"boolean","nullable":true},"markingBlindModeratingMarker":{"type":"boolean","nullable":true},"markingBlindEscalationMarker":{"type":"boolean","nullable":true},"markingBlindBackReadingMarker":{"type":"boolean","nullable":true},"markingBlindAuditingMarker":{"type":"boolean","nullable":true},"markingBlindIsolate":{"type":"boolean","nullable":true},"markerConcealmentProvisional":{"type":"boolean","nullable":true},"markerConcealmentModerating":{"type":"boolean","nullable":true},"markerConcealmentEscalation":{"type":"boolean","nullable":true},"markerConcealmentAuditing":{"type":"boolean","nullable":true},"markingEscalationEnabled":{"type":"boolean","nullable":true},"markingEscalationModeratorsCanEscalate":{"type":"boolean","nullable":true},"markingEscalationReasons":{"type":"array","nullable":true,"items":{"type":"object","required":["label","description"],"properties":{"slug":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"}}}},"markingBackReadingEnabled":{"type":"boolean","nullable":true},"markingAuditingEnabled":{"type":"boolean","nullable":true},"markingResolutionEnabled":{"type":"boolean","nullable":true},"markingShowAllMarkerFeedback":{"type":"boolean","nullable":true},"markingProvisionalMarkerAllocation":{"type":"string","nullable":true},"markingModeratingMarkerAllocation":{"type":"string","nullable":true},"markingEscalationMarkerAllocation":{"type":"string","nullable":true},"markingProvisionalMarkerGranularity":{"type":"string","nullable":true},"markingModeratingMarkerGranularity":{"type":"string","nullable":true},"markingEscalationMarkerGranularity":{"type":"string","nullable":true},"preExamInstructions":{"type":"string","nullable":true},"notificationAutomateEmails":{"type":"boolean","nullable":true},"notificationResultsEmailEnabled":{"type":"boolean","nullable":true},"certificatesEnabled":{"type":"boolean","nullable":true},"certificatesIssueOnFail":{"type":"boolean","nullable":true},"certificatesTemplateId":{"type":"string","nullable":true},"certificatesQrCode":{"type":"boolean","nullable":true},"certificatesResultsPage":{"type":"boolean","nullable":true},"certificatesTtl":{"type":"number","nullable":true},"certificatesIgnoreSubPortalBranding":{"type":"boolean","nullable":true},"certificatesSharingImageUrl":{"type":"string","nullable":true},"resitEnabled":{"type":"boolean","nullable":true},"resitType":{"type":"string","nullable":true},"resitMode":{"type":"string","nullable":true},"resitAllowedAttempts":{"type":"number","nullable":true},"resitGradeIndependent":{"type":"boolean","nullable":true},"resitDelay":{"type":"number","nullable":true},"resitCloseDelay":{"type":"number","nullable":true},"resitCloseMode":{"type":"string","nullable":true},"legalEnabled":{"type":"boolean","nullable":true},"legalConfirmationType":{"type":"string","nullable":true},"legalTitle":{"type":"string","nullable":true},"legalBody":{"type":"string","nullable":true},"legalCheckboxLabel":{"type":"string","nullable":true},"legalConfirmationStaticText":{"type":"string","nullable":true},"proctorEnabled":{"type":"boolean","nullable":true},"proctorVendor":{"type":"string","nullable":true},"proctorRequireSecondCamera":{"type":"boolean","nullable":true},"proctorRequireFullscreen":{"type":"boolean","nullable":true},"proctorRestrictTabs":{"type":"boolean","nullable":true},"proctorRestrictDisplays":{"type":"boolean","nullable":true},"proctorWebcamMonitoring":{"type":"string","nullable":true},"proctorScreenMonitoring":{"type":"string","nullable":true},"proctorSynopticLevel":{"type":"string","nullable":true},"proctorScreenshotPrevention":{"type":"boolean","nullable":true},"proctorRecordSession":{"type":"boolean","nullable":true},"proctorRecordSnapshots":{"type":"boolean","nullable":true},"proctorRecordDesktop":{"type":"boolean","nullable":true},"proctorAiReview":{"type":"boolean","nullable":true},"proctorLiveAiDetection":{"type":"boolean","nullable":true},"proctorAiPrompts":{"type":"array","nullable":true,"maxItems":12,"items":{"type":"object","properties":{"prompt":{"type":"string"},"level":{"type":"string","enum":["info","warning","breach"]},"colour":{"type":"string","nullable":true},"enabled":{"type":"boolean","nullable":true}}}},"proctorOnBreach":{"type":"string","nullable":true},"proctorReviewMode":{"type":"string","enum":["always","never","onBreach",null],"nullable":true},"proctorLiveProctoring":{"type":"boolean","nullable":true},"proctorBlockedApplicationsPolicy":{"type":"string","enum":["none","default",null],"nullable":true},"proctorRoomScanCoverage":{"type":"string","enum":["off","workspace","full",null],"nullable":true},"proctorRoomScanDevice":{"type":"string","enum":["phone","webcam","either",null],"nullable":true},"identityCheckRequired":{"type":"boolean","nullable":true},"identityCheckFailureAction":{"type":"string","enum":["flag","block",null],"nullable":true},"identityCheckVendor":{"type":"string","enum":["stripe","entrust","internal",null],"nullable":true},"identityCheckAutomaticFaceMatch":{"type":"boolean","nullable":true},"identityCheckNameComparison":{"type":"boolean","nullable":true},"identityCheckNameAction":{"type":"string","enum":["record","flag","block",null],"nullable":true},"shuffleDynamicFilters":{"type":"boolean","nullable":true},"shuffleAllDynamicQuestions":{"type":"boolean","nullable":true},"dynamicTagSetId":{"type":"string","nullable":true},"dynamicVariationEnabled":{"type":"boolean","nullable":true},"dynamicVariantsMax":{"type":"number","nullable":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"instructionsAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}},"globalDefaultSettings":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["GlobalExamTemplate"]}}}}},"sections":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["ExamTemplateSection"]}]}}}}}},"markers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"moderatingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"escalatingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"backReadingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"auditingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The ExamTemplateSection object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamTemplateSection":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamTemplateSection"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"minLength":1,"maxLength":100},"isDynamic":{"type":"boolean","readOnly":true},"doi":{"type":"string","readOnly":false,"nullable":false,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"instructionsEnabled":{"type":"boolean","readOnly":false},"instructionsTitle":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":100},"instructionsBody":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":25000},"instructionsTimerEnabled":{"type":"boolean","readOnly":false,"nullable":true},"instructionsTimerHidden":{"type":"boolean","readOnly":false,"nullable":true},"instructionsTimerDurationMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1,"maximum":86400000},"instructionsAudioAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"instructionsAudioAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"instructionsAudioAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"instructionsDisableAudioControls":{"type":"boolean","readOnly":false,"nullable":true},"outroEnabled":{"type":"boolean","readOnly":false},"outroTitle":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":100},"outroBody":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":25000},"outroTimerEnabled":{"type":"boolean","readOnly":false,"nullable":true},"outroTimerHidden":{"type":"boolean","readOnly":false,"nullable":true},"outroTimerDurationMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1,"maximum":86400000},"outroAudioAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"outroAudioAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"outroAudioAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"outroDisableAudioControls":{"type":"boolean","readOnly":false,"nullable":true},"timerEnabled":{"type":"boolean","readOnly":false},"timerHidden":{"type":"boolean","readOnly":false},"timerDurationMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1},"timerInferFromQuestions":{"type":"boolean","readOnly":false,"nullable":true},"index":{"type":"number","readOnly":true},"filterRules":{"type":"array","minItems":0,"maxItems":125,"description":"Array of filter rules to apply to the dynamic quiz content.","items":{"type":"object","properties":{"weighting":{"type":"number"},"shuffleQuestions":{"type":"boolean"},"matchingRules":{"type":"array","minItems":0,"maxItems":20,"description":"Array of matching rules to apply to the filter rule. Each rule will be treated as an AND operation. Matching rules can not be a mix of tag and EMQ rules.","items":{"oneOf":[{"anyOf":[{"type":"object","required":["tagId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["tagId"],"properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}}}]},{"anyOf":[{"type":"object","required":["emqGroupId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["emqGroupId"],"properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}}}]},{"anyOf":[{"type":"object","required":["questionId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["questionId"],"properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}}}]}]}}}}},"navigationDisableNavigation":{"type":"boolean","readOnly":false,"nullable":true},"navigationDisableControlPanel":{"type":"boolean","readOnly":false,"nullable":true},"navigationDisableNotifications":{"type":"boolean","readOnly":false,"nullable":true},"grades":{"type":"array","nullable":true,"items":{"type":"object","required":["label"],"properties":{"label":{"type":"string","readOnly":false},"minScore":{"description":"A default failing grade should have minScore set to `null`","type":"number","readOnly":false,"nullable":true},"isPass":{"type":"boolean","readOnly":false},"description":{"type":"string","readOnly":false,"nullable":true}}}},"scoreModifiers":{"type":"array","nullable":true,"readOnly":false,"items":{"type":"object","additionalProperties":false,"required":["type"],"properties":{"type":{"type":"string","enum":["omitLowestScoringQuestionPerSection"]}}}}}},"relationships":{"type":"object","properties":{"examTemplate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamTemplate"]}}}}},"instructionsAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"outroAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamVoucher object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamVoucher":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamVoucher"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"code":{"type":"string","readOnly":true,"minLength":1,"maxLength":255},"batch":{"type":"string","readOnly":true,"nullable":true,"minLength":1,"maxLength":255},"expiresAt":{"type":"string","nullable":true,"readOnly":false},"isRedeemed":{"type":"boolean","readOnly":true},"isRevoked":{"type":"boolean","readOnly":false},"redeemedAt":{"type":"string","readOnly":true,"nullable":true},"examName":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"redeemedBy":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamVoucherBatchJob object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamVoucherBatchJob":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamVoucherBatchJob"]},"attributes":{"type":"object","required":["count"],"properties":{"batch":{"type":"string","minLength":1,"maxLength":255,"description":"Batch identifier to prefix voucher codes with"},"count":{"type":"integer","minimum":1,"maximum":1000,"description":"Number of vouchers to create"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Optional expiration date for all vouchers in the batch"}}},"relationships":{"type":"object","required":["exam"],"properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamVoucherExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamVoucherExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamVoucherExport"]},"attributes":{"type":"object","properties":{"batch":{"type":"string","minLength":1,"maxLength":255,"description":"Optional batch name to filter vouchers by"}}},"relationships":{"type":"object","required":["exam"],"properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExamWindow object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamWindow":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamWindow"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","minLength":1,"maxLength":255},"activateAt":{"type":"string","format":"date-time","description":"When candidates enrolled through this window may start. Independent of the selected test’s own dates."},"deactivateAt":{"type":"string","format":"date-time","nullable":true,"description":"Last start time for this window. Omit for no close."},"relativeCloseTimeInMs":{"type":"integer","minimum":1,"nullable":true,"description":"How long each candidate has once their attempt opens, in milliseconds. An attempt opens with the window, or on enrolment if that is later, and never closes after the window does. Omit for attempts that take the window’s dates."},"isArchived":{"type":"boolean","readOnly":false,"description":"An archived window accepts no new candidates. Existing attempts are unaffected."},"isCancelled":{"type":"boolean","readOnly":false,"description":"A cancelled window accepts no new candidates, and its attempts that have not started are cancelled. Attempts in progress can finish. Cancelling cannot be undone."},"isDraft":{"type":"boolean","readOnly":true,"description":"A draft issues no attempts until it is published through exam-window-publications. Defaults to true; false creates the window published."},"attemptCount":{"type":"integer","readOnly":true,"nullable":true,"description":"How many attempts the window has issued. Null when the caller can't read the exam's attempts."},"candidateCount":{"type":"integer","readOnly":true,"nullable":true,"description":"How many people the window has issued attempts to. Null when the caller can't read the exam's attempts."},"attemptCountsByStatus":{"type":"object","readOnly":true,"nullable":true,"description":"The window's attempts by exam status. Statuses with no attempts are left out. Null when the caller can't read the exam's attempts.","properties":{"enrolled":{"type":"integer"},"notified":{"type":"integer"},"preflight":{"type":"integer"},"started":{"type":"integer"},"submitted":{"type":"integer"},"revoked":{"type":"integer"},"expired":{"type":"integer"},"cancelled":{"type":"integer"}},"additionalProperties":false}}},"relationships":{"type":"object","properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"test":{"type":"object","description":"The released exam version candidates will sit. Optional for a draft; publication uses the exam’s published version. Changing it after publication affects future enrolments only.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"Sub-portal staff can only create windows in their own sub-portal. Root staff can choose any sub-portal, or omit it for a root window. It cannot change later.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"selectedUsers":{"type":"object","description":"Candidates picked for the draft, replaced whole on each save. Cleared when the window is published.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"selectedUserGroups":{"type":"object","description":"Groups picked for the draft, replaced whole on each save. Their members at publication are issued attempts, and the list is cleared.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The ExamWindowPublication object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExamWindowPublication":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamWindowPublication"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","required":["examWindow"],"properties":{"examWindow":{"type":"object","description":"The draft window to publish.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExamWindow"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExportEnrichedAttempt object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExportEnrichedAttempt":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExportEnrichedAttempt"]},"attributes":{"type":"object","properties":{"backgroundJobId":{"type":"string"},"filter":{"type":"object","properties":{"portalId":{"type":"string"},"attemptIds":{"type":"array","items":{"type":"string"}},"isArchived":{"type":"string","enum":["true","false","any"],"description":"Omit or any for archived and live attempts together, false for live attempts only, true for archived attempts only."},"origin":{"type":"object","properties":{"type":{"type":"string","enum":["assignmentGroup","assignment","collection","collectionItem","exam","test"]},"value":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}}},"propertyFilters":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["assignedMarker","assignedModeratingMarker","assignedProvisionalMarker","attemptStatus","examStatus","grade","markingStatus","proctorStatus","quiz","quizVersion","resultsStatus","user","userGroup"]},"value":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}}}},"dateFilter":{"type":"object","properties":{"type":{"type":"string","enum":["completedAt","createdAt","finalisedAt","releasedAt","startedAt"]},"start":{"type":"string"},"end":{"type":"string"}}},"sort":{"type":"object","properties":{"type":{"type":"string","enum":["createdAt","finalisedAt","releasedAt","timeCompleted","timeStarted","score"]},"order":{"type":"string","enum":["ascending","descending"]}}}}},"breakdown":{"type":"string","enum":["question","score","none"]},"includes":{"type":"array","items":{"type":"string","enum":["sections","userAttributes","examAttributes","attemptAttributes","tagPerformance"]}},"useSource":{"type":"boolean"}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExternalExamSitting object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExternalExamSitting":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExternalExamSitting"]},"attributes":{"type":"object","properties":{"score":{"type":"number","readOnly":false,"minimum":0,"maximum":100},"date":{"type":"string","readOnly":false},"isPassed":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"mock":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionMock"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExternalProctorSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExternalProctorSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExternalProctorSession"]},"attributes":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"reference":{"type":"string","description":"External proctor vendor reference for this session.","readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ExternalProctorSessionResults object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ExternalProctorSessionResults":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ExternalProctorSessionResults"]},"attributes":{"type":"object","properties":{"resultsUrl":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The FacetConfig object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"FacetConfig":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["FacetConfig"]},"attributes":{"type":"object","properties":{"label":{"type":"string","readOnly":true},"customLabel":{"type":"string","nullable":true,"maxLength":100,"description":"Custom display term for this facet. An empty value restores the default label."},"facet":{"type":"string","enum":["exam","module","subject","topic","subtopic","difficulty","skill","context"],"readOnly":false},"description":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"tagSet":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The File object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"File":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]},"attributes":{"type":"object","properties":{"path":{"type":"string","readOnly":true,"description":"Fingerprinted on create. Use returned value in Parse.File as `name`."},"s3Path":{"type":"string","readOnly":true,"description":"Actual path within S3 bucket. Usually same as `path` except for public files."},"signedUrl":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Flag object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Flag":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Flag"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"comment":{"type":"string","readOnly":false,"nullable":true},"source":{"type":"string","readOnly":true,"nullable":false},"issue":{"type":"string","readOnly":true,"nullable":false},"isReviewed":{"type":"boolean","readOnly":false,"nullable":false,"description":"Whether the flag has been reviewed by a moderator, when a flag is created this is automatically set to false"}}},"relationships":{"type":"object","properties":{"planter":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"question":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}},"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The FlagExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"FlagExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["FlagExport"]},"attributes":{"type":"object","properties":{"isReviewed":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}},"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ForbiddenApiError object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ForbiddenApiError":{"type":"object","description":"Forbidden request.","properties":{"id":{"type":"string","description":"Unique ID of this error occurrence."},"status":{"type":"string","description":"HTTP status code."},"code":{"type":"string","description":"Synap internal error code."},"title":{"type":"string"},"detail":{"type":"string"},"source":{"type":"object","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"}}}}}}}}
```

## The GeneratedAccount object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"GeneratedAccount":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["GeneratedAccount"]},"attributes":{"type":"object","deprecated":true,"properties":{"name":{"type":"string","readOnly":true},"email":{"type":"string","readOnly":true},"externalId":{"type":"string","readOnly":true},"password":{"type":"string","readOnly":true},"timezone":{"type":"string","readOnly":true},"attr":{"type":"object","readOnly":true},"disableWelcomeEmail":{"type":"boolean","readOnly":true},"customMessage":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The GeneratedTest object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"GeneratedTest":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["GeneratedTest"]},"attributes":{"type":"object","properties":{"source":{"type":"object","readOnly":false,"properties":{"type":{"type":"string","enum":["collection"]},"objectId":{"type":"string"}}},"length":{"type":"number"},"tagFilters":{"type":"object"},"tagSetId":{"deprecated":true,"type":"string"}}},"relationships":{"type":"object","properties":{"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}},"tagSet":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The GenerateTestJob object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"GenerateTestJob":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["GenerateTestJob"]},"attributes":{"type":"object","properties":{"source":{"type":"object","readOnly":false,"properties":{"type":{"type":"string","enum":["collection"]},"objectId":{"type":"string"}}},"length":{"type":"number","readOnly":false},"tagFilters":{"type":"object","readOnly":false,"properties":{"weightingType":{"type":"string","enum":["percentage","absolute"]},"filterRules":{"type":"array","maxItems":125,"items":{"type":"object","properties":{"weighting":{"type":"number"},"matchingRules":{"type":"array","minItems":1,"items":{"anyOf":[{"type":"object"},{"type":"array","items":{"type":"object"}}]}}}}}}},"masteryLevels":{"type":"array","items":{"type":"string","enum":["unseen","weak","moderate","strong","mastered"]},"readOnly":false},"randomise":{"type":"boolean","readOnly":false},"state":{"type":"string","enum":["pending","started","completed","failed"],"readOnly":true}}},"relationships":{"type":"object","properties":{"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}},"tagSet":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The GenericNotification object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"GenericNotification":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["GenericNotification"]},"attributes":{"type":"object","properties":{"subject":{"type":"string","readOnly":true},"body":{"type":"string","readOnly":true},"previewText":{"type":"string","readOnly":true},"replyTo":{"type":"string","readOnly":true},"ccSender":{"type":"boolean","readOnly":true},"bcc":{"type":"array","readOnly":true,"items":{"type":"object","required":["email"],"properties":{"name":{"type":"string","readOnly":true},"email":{"type":"string","readOnly":true}}}},"attachments":{"type":"array","readOnly":true,"items":{"type":"object","required":["filename","content","type"],"properties":{"filename":{"type":"string","readOnly":true},"content":{"type":"string","readOnly":true},"type":{"type":"string","enum":["application/pdf","application/json","text/csv","text/html","text/plain"],"readOnly":true}}}}}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"attempts":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Attempt"]}]}}}}}},"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"users":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The GenericResource object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"GenericResource":{"type":"object","description":"The structure of a any Resource returned by, or expected in, all requests.","properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"$ref":"#/components/schemas/ResourceType"},"attributes":{"type":"object","additionalProperties":true},"relationships":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Relationship"}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."},"Relationship":{"type":"object","description":"Describes a relationship object that references the related resource.","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/ResourceIdentifierObject"},{"$ref":"#/components/schemas/ResourceIdentifierArray"}]},"links":{"$ref":"#/components/schemas/RelationLink"},"meta":{"type":"object","additionalProperties":true}}},"ResourceIdentifierObject":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"$ref":"#/components/schemas/ResourceType"}}},"ResourceIdentifierArray":{"type":"array","description":"This is a resource linkage for a to-many relationship. It is like a list of Parse Pointers.","nullable":true,"items":{"$ref":"#/components/schemas/ResourceIdentifierObject"}},"RelationLink":{"type":"object","properties":{"self":{"type":"string"},"related":{"type":"string"}}}}}}
```

## The GlobalExamTemplate object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"GlobalExamTemplate":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["GlobalExamTemplate"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"lockedByDefault":{"type":"boolean","nullable":true},"lockedByDefaultScope":{"type":"string","enum":["allAttempts","excludeResits"],"nullable":true},"ipAllowList":{"type":"array","items":{"type":"string"},"nullable":true},"resumeAllowed":{"type":"boolean","nullable":true},"resumeSameSession":{"type":"boolean","nullable":true},"passcodeEnabled":{"type":"boolean","nullable":true},"passcodeValue":{"type":"string","nullable":true},"hideFromCandidateList":{"type":"boolean","nullable":true},"allowedMode":{"type":"string","nullable":true},"allowedPlayers":{"type":"array","items":{"type":"string"},"nullable":true},"passFailEnabled":{"type":"boolean","nullable":true},"calculatorEnabled":{"type":"boolean","nullable":true},"calculatorType":{"type":"string","nullable":true},"notepadEnabled":{"type":"boolean","nullable":true},"resizableQuestionPanelsEnabled":{"type":"boolean","nullable":true},"strikethroughEnabled":{"type":"boolean","nullable":true},"highlightingEnabled":{"type":"boolean","nullable":true},"bookmarkingEnabled":{"type":"boolean","nullable":true},"flaggingEnabled":{"type":"boolean","nullable":true},"micEnabled":{"type":"boolean","nullable":true},"resumeLaterButtonEnabled":{"type":"boolean","nullable":true},"labValuesEnabled":{"type":"boolean","nullable":true},"labValuesHtml":{"type":"string","nullable":true},"additionalInformationEnabled":{"type":"boolean","nullable":true},"additionalInformationHtml":{"type":"string","nullable":true},"additionalInformationTitle":{"type":"string","nullable":true},"additionalInformationIcon":{"type":"string","nullable":true},"externalPlayerType":{"type":"string","nullable":true},"deferResultEnabled":{"type":"boolean","nullable":true},"deferResultAlwaysRelease":{"type":"boolean","nullable":true},"deferResultMessage":{"type":"string","nullable":true},"optionShuffling":{"type":"string","nullable":true},"questionShuffling":{"type":"string","nullable":true},"sectionShufflingEnabled":{"type":"boolean","nullable":true},"softSectionsEnabled":{"type":"boolean","nullable":true},"sectionGradesEnabled":{"type":"boolean","nullable":true},"advancedGradingEnabled":{"type":"boolean","nullable":true},"availableMarksEnabled":{"type":"boolean","nullable":true},"pinnedMessageDuringTest":{"type":"string","nullable":true},"excludeInformationalQuestionsFromCounts":{"type":"boolean","nullable":true},"timerEnabled":{"type":"boolean","nullable":true},"timerTimeInMs":{"type":"number","nullable":true},"timerUseSections":{"type":"boolean","nullable":true},"timerUseQuestions":{"type":"boolean","nullable":true},"timerEnforceFullTime":{"type":"boolean","nullable":true},"timerExtraTimeMultiplier":{"type":"number","nullable":true},"timerSoftTimer":{"type":"boolean","nullable":true},"disableCopying":{"type":"boolean","nullable":true},"disablePasting":{"type":"boolean","nullable":true},"disableRightClick":{"type":"boolean","nullable":true},"disableNavigation":{"type":"boolean","nullable":true},"disableControlPanel":{"type":"boolean","nullable":true},"disableNotifications":{"type":"boolean","nullable":true},"styleTheme":{"type":"string","nullable":true},"styleFontSize":{"type":"string","nullable":true},"creditsPerQuestion":{"type":"number","nullable":true},"enablePenalties":{"type":"boolean","nullable":true},"penaltiesPerQuestion":{"type":"number","nullable":true},"partialCreditsPerQuestion":{"type":"number","nullable":true},"grades":{"type":"array","nullable":true,"items":{"type":"object","required":["label","minScore"],"properties":{"label":{"type":"string"},"description":{"type":"string","nullable":true},"minScore":{"type":"number","nullable":true},"isPass":{"type":"boolean","nullable":true},"advancedCriteria":{"type":"object","nullable":true,"properties":{"sectionRequirements":{"type":"object","nullable":true,"properties":{"type":{"type":"string"},"count":{"type":"number","nullable":true},"sectionIds":{"type":"array","items":{"type":"string"},"nullable":true}}},"excludeFromResitAttempts":{"type":"boolean","nullable":true}}}}}},"instructionsEnabled":{"type":"boolean","nullable":true},"instructionsTitle":{"type":"string","nullable":true},"instructionsBody":{"type":"string","nullable":true},"instructionsTimerDurationMs":{"type":"number","nullable":true},"instructionsEnforcedTimer":{"type":"string","nullable":true},"instructionsAudioAutoAdvance":{"type":"string","nullable":true},"instructionsAudioAutoAdvanceDelayMs":{"type":"number","minimum":0,"maximum":3600000,"nullable":true},"instructionsAudioAutoPlay":{"type":"boolean","nullable":true},"instructionsDisableAudioControls":{"type":"boolean","nullable":true},"resultDetailedViewEnabled":{"type":"boolean","nullable":true},"resultEducatorsViewAsAdminEnabled":{"type":"boolean","nullable":true},"resultHideResultsPage":{"type":"boolean","nullable":true},"resultGlobalHideScore":{"type":"boolean","nullable":true},"resultScoreEnabled":{"type":"boolean","nullable":true},"resultTimeSpentEnabled":{"type":"boolean","nullable":true},"resultGradeEnabled":{"type":"boolean","nullable":true},"resultSectionBreakdownEnabled":{"type":"boolean","nullable":true},"resultSectionBreakdownGradeEnabled":{"type":"boolean","nullable":true},"resultSectionBreakdownScoreEnabled":{"type":"boolean","nullable":true},"resultQuestionBreakdownDisplay":{"type":"string","nullable":true},"resultAnalyticsCohort":{"type":"string","nullable":true},"resultCohortAverageEnabled":{"type":"boolean","nullable":true},"resultPercentileEnabled":{"type":"boolean","nullable":true},"resultScoreDistributionEnabled":{"type":"boolean","nullable":true},"resultTagBreakdownEnabled":{"type":"boolean","nullable":true},"resultProgressEnabled":{"type":"boolean","nullable":true},"resultFacetSubjectEnabled":{"type":"boolean","nullable":true},"resultFacetTopicEnabled":{"type":"boolean","nullable":true},"resultFacetSubtopicEnabled":{"type":"boolean","nullable":true},"resultFacetSkillEnabled":{"type":"boolean","nullable":true},"resultFacetDifficultyEnabled":{"type":"boolean","nullable":true},"resultMessagePassed":{"type":"string","nullable":true},"resultMessageFailed":{"type":"string","nullable":true},"resultMessageResitsRemaining":{"type":"string","nullable":true},"resultMessageNoResitsRemaining":{"type":"string","nullable":true},"resultMessageCompleted":{"type":"string","nullable":true},"resultMessageSettingHideTitle":{"type":"boolean","nullable":true},"resultHiddenMessage":{"type":"string","nullable":true},"resultHiddenSettingHideTitle":{"type":"boolean","nullable":true},"resultOverviewWhenPassedMessage":{"type":"string","nullable":true},"resultOverviewWhenFailedHasResitsMessage":{"type":"string","nullable":true},"resultOverviewWhenFailedNoResitsMessage":{"type":"string","nullable":true},"resultOverviewWhenCompleteNoGradesMessage":{"type":"string","nullable":true},"resultOverviewWhenCompletedNeutralGradesMessage":{"type":"string","nullable":true},"markingDoubleEnabled":{"type":"boolean","nullable":true},"markingDoubleAllocation":{"type":"string","nullable":true},"markingDoubleMinMarkers":{"type":"number","nullable":true},"markingDoubleSequence":{"type":"string","nullable":true},"markingBlindProvisionalMarker":{"type":"boolean","nullable":true},"markingBlindModeratingMarker":{"type":"boolean","nullable":true},"markingBlindEscalationMarker":{"type":"boolean","nullable":true},"markingBlindBackReadingMarker":{"type":"boolean","nullable":true},"markingBlindAuditingMarker":{"type":"boolean","nullable":true},"markingBlindIsolate":{"type":"boolean","nullable":true},"markerConcealmentProvisional":{"type":"boolean","nullable":true},"markerConcealmentModerating":{"type":"boolean","nullable":true},"markerConcealmentEscalation":{"type":"boolean","nullable":true},"markerConcealmentAuditing":{"type":"boolean","nullable":true},"markingEscalationEnabled":{"type":"boolean","nullable":true},"markingEscalationModeratorsCanEscalate":{"type":"boolean","nullable":true},"markingEscalationReasons":{"type":"array","nullable":true,"items":{"type":"object","required":["label","description"],"properties":{"slug":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"}}}},"markingBackReadingEnabled":{"type":"boolean","nullable":true},"markingAuditingEnabled":{"type":"boolean","nullable":true},"markingResolutionEnabled":{"type":"boolean","nullable":true},"markingShowAllMarkerFeedback":{"type":"boolean","nullable":true},"markingProvisionalMarkerAllocation":{"type":"string","nullable":true},"markingModeratingMarkerAllocation":{"type":"string","nullable":true},"markingEscalationMarkerAllocation":{"type":"string","nullable":true},"markingProvisionalMarkerGranularity":{"type":"string","nullable":true},"markingModeratingMarkerGranularity":{"type":"string","nullable":true},"markingEscalationMarkerGranularity":{"type":"string","nullable":true},"preExamInstructions":{"type":"string","nullable":true},"notificationAutomateEmails":{"type":"boolean","nullable":true},"notificationResultsEmailEnabled":{"type":"boolean","nullable":true},"certificatesEnabled":{"type":"boolean","nullable":true},"certificatesIssueOnFail":{"type":"boolean","nullable":true},"certificatesTemplateId":{"type":"string","nullable":true},"certificatesQrCode":{"type":"boolean","nullable":true},"certificatesResultsPage":{"type":"boolean","nullable":true},"certificatesTtl":{"type":"number","nullable":true},"certificatesIgnoreSubPortalBranding":{"type":"boolean","nullable":true},"certificatesSharingImageUrl":{"type":"string","nullable":true},"resitEnabled":{"type":"boolean","nullable":true},"resitType":{"type":"string","nullable":true},"resitMode":{"type":"string","nullable":true},"resitAllowedAttempts":{"type":"number","nullable":true},"resitGradeIndependent":{"type":"boolean","nullable":true},"resitDelay":{"type":"number","nullable":true},"resitCloseDelay":{"type":"number","nullable":true},"resitCloseMode":{"type":"string","nullable":true},"legalEnabled":{"type":"boolean","nullable":true},"legalConfirmationType":{"type":"string","nullable":true},"legalTitle":{"type":"string","nullable":true},"legalBody":{"type":"string","nullable":true},"legalCheckboxLabel":{"type":"string","nullable":true},"legalConfirmationStaticText":{"type":"string","nullable":true},"proctorEnabled":{"type":"boolean","nullable":true},"proctorVendor":{"type":"string","nullable":true},"proctorRequireSecondCamera":{"type":"boolean","nullable":true},"proctorRequireFullscreen":{"type":"boolean","nullable":true},"proctorRestrictTabs":{"type":"boolean","nullable":true},"proctorRestrictDisplays":{"type":"boolean","nullable":true},"proctorWebcamMonitoring":{"type":"string","nullable":true},"proctorScreenMonitoring":{"type":"string","nullable":true},"proctorSynopticLevel":{"type":"string","nullable":true},"proctorScreenshotPrevention":{"type":"boolean","nullable":true},"proctorRecordSession":{"type":"boolean","nullable":true},"proctorRecordSnapshots":{"type":"boolean","nullable":true},"proctorRecordDesktop":{"type":"boolean","nullable":true},"proctorAiReview":{"type":"boolean","nullable":true},"proctorLiveAiDetection":{"type":"boolean","nullable":true},"proctorAiPrompts":{"type":"array","nullable":true,"maxItems":12,"items":{"type":"object","properties":{"prompt":{"type":"string"},"level":{"type":"string","enum":["info","warning","breach"]},"colour":{"type":"string","nullable":true},"enabled":{"type":"boolean","nullable":true}}}},"proctorOnBreach":{"type":"string","nullable":true},"proctorReviewMode":{"type":"string","enum":["always","never","onBreach",null],"nullable":true},"proctorLiveProctoring":{"type":"boolean","nullable":true},"proctorBlockedApplicationsPolicy":{"type":"string","enum":["none","default",null],"nullable":true},"proctorRoomScanCoverage":{"type":"string","enum":["off","workspace","full",null],"nullable":true},"proctorRoomScanDevice":{"type":"string","enum":["phone","webcam","either",null],"nullable":true},"identityCheckRequired":{"type":"boolean","nullable":true},"identityCheckFailureAction":{"type":"string","enum":["flag","block",null],"nullable":true},"identityCheckVendor":{"type":"string","enum":["stripe","entrust","internal",null],"nullable":true},"identityCheckAutomaticFaceMatch":{"type":"boolean","nullable":true},"identityCheckNameComparison":{"type":"boolean","nullable":true},"identityCheckNameAction":{"type":"string","enum":["record","flag","block",null],"nullable":true},"shuffleDynamicFilters":{"type":"boolean","nullable":true},"shuffleAllDynamicQuestions":{"type":"boolean","nullable":true},"dynamicTagSetId":{"type":"string","nullable":true},"dynamicVariationEnabled":{"type":"boolean","nullable":true},"dynamicVariantsMax":{"type":"number","nullable":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"instructionsAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Highlight object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Highlight":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Highlight"]},"attributes":{"type":"object","properties":{"collectionItemId":{"type":"string","readOnly":true},"color":{"type":"string","readOnly":true},"range":{"type":"string","readOnly":true},"summary":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The IceCandidate object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"IceCandidate":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["IceCandidate"]},"attributes":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"readOnly":true},"username":{"type":"string","readOnly":true},"credential":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The IdentityCheck object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"IdentityCheck":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["IdentityCheck"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["created","processing","verified","failed","cancelled","awaiting_review"],"readOnly":true},"vendor":{"type":"string","enum":["stripe","entrust","internal"],"readOnly":true},"vendorSessionRef":{"type":"string","readOnly":true,"nullable":true,"description":"The vendor's reference for this check's session, which some vendors' capture flows need alongside the client secret."},"failureCode":{"type":"string","readOnly":true,"nullable":true},"attemptNumber":{"type":"integer","minimum":1,"readOnly":true},"attemptsUsed":{"type":"integer","minimum":0,"readOnly":true},"consentAt":{"type":"string","readOnly":true,"nullable":true},"submittedAt":{"type":"string","readOnly":true,"nullable":true},"checkedAt":{"type":"string","readOnly":true,"nullable":true},"redactAfter":{"type":"string","readOnly":true,"nullable":true},"redactedAt":{"type":"string","readOnly":true,"nullable":true},"consent":{"type":"boolean","writeOnly":true,"description":"Must be true on create: the candidate has explicitly agreed to their ID and selfie being processed."},"submitted":{"type":"boolean","writeOnly":true,"description":"Set true on update to reconcile the outcome with the vendor after the capture flow closes. Idempotent."},"clientSecret":{"type":"string","readOnly":true,"nullable":true,"description":"Vendor client secret for the capture flow. Only present on the create response; never stored or served again."},"documentImage":{"type":"string","writeOnly":true,"description":"Internal checks only: a JPEG or PNG photo of the candidate's ID, base64 encoded. Sent with faceImage on update, or on its own to the photo-checks route to screen just this photo."},"faceImage":{"type":"string","writeOnly":true,"description":"Internal checks only: a JPEG or PNG photo of the candidate's face, base64 encoded. Sent with documentImage on update, or on its own to the photo-checks route to screen just this photo."},"reviewOutcome":{"type":"string","enum":["verified","failed"],"writeOnly":true,"description":"Internal checks only: a reviewer's decision on the candidate's identity, which replaces the automatic outcome."},"captureIssues":{"type":"array","readOnly":true,"nullable":true,"items":{"type":"string","enum":["document_not_found","document_too_small","document_cut_off","document_face_not_found","document_text_not_readable","face_not_found","multiple_faces","face_obscured","too_far_from_camera","face_angle"]},"description":"Why the submitted photos could not be used. Only present on the update response that submitted them, and on a photo-checks response, where it lists the problems with that one photo."},"capturesRemaining":{"type":"integer","minimum":0,"readOnly":true,"nullable":true,"description":"Photo submissions left before an internal check fails. Null once the check has an outcome, and for vendor checks."},"faceMatchSimilarity":{"type":"number","minimum":0,"maximum":100,"readOnly":true,"nullable":true,"description":"How closely the face on the ID matched the candidate's photo, when the check compared them automatically."},"captureReport":{"type":"object","readOnly":true,"nullable":true,"description":"What the automatic checks found in the photos of an internal check, so a reviewer can sense-check them. Only served to reviewers.","properties":{"selfie":{"type":"object","required":["faceDetected","faceCount"],"properties":{"faceDetected":{"type":"boolean"},"faceCount":{"type":"integer","minimum":0},"faceHeight":{"type":"number","nullable":true,"description":"How tall the face is, as a fraction of the photo."},"covered":{"type":"boolean","nullable":true,"description":"Whether a mask, hand or dark sunglasses cover the face. Absent when the check was unsure."},"eyesOpen":{"type":"boolean","nullable":true,"description":"Whether the eyes are open. Absent when the check was unsure."},"yaw":{"type":"number","nullable":true,"description":"Degrees the head is turned to one side."},"pitch":{"type":"number","nullable":true,"description":"Degrees the head is tilted up or down."},"brightness":{"type":"number","nullable":true,"description":"How well lit the face is, from 0 to 100."},"sharpness":{"type":"number","nullable":true,"description":"How sharp the face is, from 0 to 100."}}},"document":{"type":"object","required":["detected","isIdentityDocument","portraitFound"],"properties":{"detected":{"type":"boolean"},"type":{"type":"string","nullable":true,"description":"What the document was recognised as, such as Driving License."},"typeConfidence":{"type":"number","nullable":true,"description":"How sure the check was of the type, from 0 to 100."},"isIdentityDocument":{"type":"boolean"},"wholeInFrame":{"type":"boolean","nullable":true,"description":"Whether the whole document is in the photo. Absent when it could not be placed."},"portraitFound":{"type":"boolean"},"portraitBrightness":{"type":"number","nullable":true,"description":"How well lit the photo on the document is, from 0 to 100."},"portraitSharpness":{"type":"number","nullable":true,"description":"How sharp the photo on the document is, from 0 to 100."},"wordCount":{"type":"integer","minimum":0,"nullable":true,"description":"How many words the check could read on the document. The text itself is never kept."},"nameOnDocument":{"type":"string","enum":["found","not_found","not_checked",null],"nullable":true,"description":"Whether the candidate's name appears in the text read from the document, or not_checked when the account holds no usable name or the text could not be read."}}}}},"history":{"type":"array","readOnly":true,"description":"Every settled outcome of an internal check, oldest first: the automatic result and each reviewer decision. Only served to reviewers.","items":{"type":"object","required":["source","status","at"],"properties":{"source":{"type":"string","enum":["automatic","reviewer"]},"status":{"type":"string","enum":["created","processing","verified","failed","cancelled","awaiting_review"]},"failureCode":{"type":"string","nullable":true},"faceMatchSimilarity":{"type":"number","minimum":0,"maximum":100,"nullable":true},"at":{"type":"string","format":"date-time"},"byUserId":{"type":"string","nullable":true}}}},"documentImageUrl":{"type":"string","readOnly":true,"nullable":true,"description":"A short-lived link to the ID photo of an internal check. Only served to reviewers, and never after redaction."},"faceImageUrl":{"type":"string","readOnly":true,"nullable":true,"description":"A short-lived link to the face photo of an internal check. Only served to reviewers, and never after redaction."},"reviewedAt":{"type":"string","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"reviewedBy":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The InsightsTagBreakdown object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"InsightsTagBreakdown":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["InsightsTagBreakdown"]},"attributes":{"type":"object","properties":{"subject":{"type":"string","readOnly":true},"topic":{"type":"string","readOnly":true},"subtopic":{"type":"string","readOnly":true},"skill":{"type":"string","readOnly":true},"difficulty":{"type":"string","readOnly":true},"responseCount":{"type":"number","readOnly":true},"sumScore":{"type":"number","readOnly":true},"maxScore":{"type":"number","readOnly":true},"timeFrameStart":{"type":"string","format":"date-time","readOnly":true},"timeFrameEnd":{"type":"string","format":"date-time","readOnly":true}}},"relationships":{"type":"object","properties":{"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"tagSet":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The InsightsTagDistribution object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"InsightsTagDistribution":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["InsightsTagDistribution"]},"attributes":{"type":"object","description":"The distribution of average scores across a cohort for one value of one facet. Every score is a percentage, 0-100.","properties":{"facet":{"type":"string","enum":["subject","topic","subtopic","skill","difficulty"],"readOnly":true},"value":{"type":"string","nullable":true,"readOnly":true,"description":"The facet value. Null covers both a hidden tag and responses carrying no value for this facet, which the group charts draw as a single \"--\" category."},"n":{"type":"number","readOnly":true,"description":"Number of scores the distribution was taken over."},"mean":{"type":"number","readOnly":true},"min":{"type":"number","readOnly":true,"description":"The lowest score in the distribution. Whiskers are drawn at whiskerLow/whiskerHigh, not here."},"max":{"type":"number","readOnly":true,"description":"The highest score in the distribution."},"q1":{"type":"number","readOnly":true},"median":{"type":"number","readOnly":true},"q3":{"type":"number","readOnly":true},"whiskerLow":{"type":"number","readOnly":true,"description":"The Tukey fence q1 - 1.5 x IQR, raised to min when the fence sits below the lowest score."},"whiskerHigh":{"type":"number","readOnly":true,"description":"The Tukey fence q3 + 1.5 x IQR, lowered to max when the fence sits above the highest score."},"outliers":{"type":"array","readOnly":true,"items":{"type":"object","required":["score","count"],"properties":{"score":{"type":"number"},"count":{"type":"integer","minimum":1}}},"description":"Each score outside the whiskers, lowest first, with how many data points scored it."},"outlierCount":{"type":"number","readOnly":true,"description":"Number of data points outside the whiskers."},"deciles":{"type":"array","readOnly":true,"minItems":10,"maxItems":10,"items":{"type":"number"},"description":"Score counts in ten buckets, 0-10 through 91-100, lowest first. Each bucket after 0-10 starts at its lower label, so a score between two labels such as 10.5 counts in the lower bucket. A score of exactly 100 counts in 91-100; a score above 100 counts in none."}}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Integration object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Integration":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Integration"]},"attributes":{"type":"object","required":["credentials","vendorIdentifier"],"properties":{"credentials":{"type":"object","writeOnly":true,"description":"The credentials for the integration. Please check the docs for the desired Integration. Credentials are never returned - use `configuredCredentialKeys` and `publicCredentials` instead.","additionalProperties":{"type":"string"}},"configuredCredentialKeys":{"type":"array","readOnly":true,"description":"Names of the credential keys that are set on this integration, without their values.","items":{"type":"string"}},"publicCredentials":{"type":"object","readOnly":true,"description":"Credential values that the vendor publishes to browsers, e.g. a Stripe publishable key. Secrets are never included.","additionalProperties":{"type":"string"}},"vendorIdentifier":{"type":"string","enum":["rosalyn","skilljar","stripe"],"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Invite object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Invite":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Invite"]},"attributes":{"type":"object","properties":{"emailAddress":{"type":"string","readOnly":true},"name":{"type":"string","nullable":true,"readOnly":true},"personalMessage":{"type":"string","readOnly":true,"nullable":true},"expiryDate":{"type":"string","readOnly":true},"valid":{"type":"boolean","readOnly":true},"status":{"type":"string","enum":["pending","accepted","cancelled","expired"],"readOnly":false,"nullable":false},"lastSent":{"type":"string","description":"The last time the invite was sent. Delete this field to resend a pending invite.","readOnly":false,"nullable":true},"externalId":{"type":"string","description":"The external ID of the invitee.","readOnly":true,"nullable":true},"extraTimeMultiplier":{"type":"number","readOnly":true,"nullable":true},"attr":{"type":"object","description":"The attributes of the invitee.","readOnly":true,"nullable":true,"additionalProperties":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"invitee":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The InviteExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"InviteExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["InviteExport"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Invoice object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Invoice":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Invoice"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"billingType":{"type":"string","enum":["enterprise","invoiced","card","directDebit","trial"],"readOnly":true},"isPaid":{"type":"boolean","readOnly":true},"paymentGracePeriod":{"type":"number","description":"An optional grace period in days after the due date during which the invoice can still be paid without penalty.","nullable":true,"readOnly":true},"issueDate":{"type":"string","format":"date-time","description":"The date when the invoice was issued.","readOnly":true},"dueDate":{"type":"string","format":"date-time","description":"The date when the invoice is due.","readOnly":true},"failedPaymentAttempts":{"type":"number","description":"The number of failed payment attempts for this invoice.","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The LearningRecord object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"LearningRecord":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["LearningRecord"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"score":{"type":"number","readOnly":false,"nullable":true,"minimum":0,"maximum":100},"achievedOn":{"type":"string"},"visibleToStudent":{"type":"boolean","readOnly":false},"attr":{"type":"object","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The LearningRecordExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"LearningRecordExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["LearningRecordExport"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","required":["user"],"properties":{"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The LegacyAccessUpgradeOption object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"LegacyAccessUpgradeOption":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["LegacyAccessUpgradeOption"]},"attributes":{"type":"object","properties":{"accessUntilDate":{"type":"string"},"description":{"type":"string"},"isClaimable":{"type":"boolean"},"isClaimed":{"type":"boolean"},"message":{"type":"string","nullable":true},"offerItems":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"productIdentifier":{"type":"string"},"priceTag":{"type":"string"},"imageUrl":{"type":"string","nullable":true}}}},"selectedOfferItemIndex":{"type":"integer"},"title":{"type":"string"},"userPromoCode":{"type":"string","nullable":true}},"additionalProperties":false},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The LoginQrCode object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"LoginQrCode":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["LoginQrCode"]},"attributes":{"type":"object","properties":{"qrCode":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ManageBillingSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ManageBillingSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ManageBillingSession"]},"attributes":{"type":"object","required":["type"],"properties":{"type":{"type":"string","readOnly":true,"enum":["manage-billing","manage-payment-sources","upgrade-trial"],"description":"The type of billing session to create. Use the `id` as the Chargebee token."},"chargebeeHostedPage":{"type":"object","readOnly":true,"nullable":true,"description":"Data used by the Chargebee hosted pages SDK to render the page. Only present if the type is not `manage-billing`."}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MarketingConsent object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MarketingConsent":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarketingConsent"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MarkingEntry object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MarkingEntry":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingEntry"]},"attributes":{"type":"object","properties":{"rubricAreas":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","nullable":true},"label":{"type":"string"},"maxCredits":{"type":"number","minimum":0},"description":{"type":"string","nullable":true}}},"readOnly":true},"rubricMarks":{"type":"object","readOnly":false,"nullable":true},"maxPoints":{"type":"number","readOnly":true},"points":{"type":"number","description":"The sum of credits and penalites.","readOnly":true,"nullable":true},"credits":{"type":"number","description":"The postivie credits awarded for the candidates answer","readOnly":false,"nullable":true},"penalties":{"type":"number","description":"The deduction of credits for the candidates answer","readOnly":false,"nullable":true},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"],"readOnly":true},"status":{"type":"string","enum":["pending","inProgress","submitted","completed","escalated","systemMarked","adminMarked","superseded"],"readOnly":false},"escalationReason":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"comment":{"type":"string"}},"readOnly":false},"escalationResponse":{"type":"string","readOnly":false,"nullable":true},"disabled":{"type":"boolean","readOnly":true},"conflict":{"type":"boolean","readOnly":true},"collision":{"type":"object","description":"Present when entries of the same role tied on this response, listing the colliding entries the reader can see. The entry with `final: true` sourced the mark.","properties":{"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"markingEntryIds":{"type":"array","items":{"type":"string"}}},"required":["role","markingEntryIds"],"readOnly":true},"timeMarked":{"type":"string","readOnly":true},"final":{"type":"boolean","readOnly":true},"selectedAsFinal":{"type":"boolean","description":"True when an administrator chose this entry as the source of the response final mark. Writable on its own: sending it with any other attribute is rejected.","readOnly":false},"selectedAt":{"type":"string","description":"When this entry was chosen as the source mark.","readOnly":true},"candidateFeedback":{"type":"string","readOnly":false,"nullable":true},"notes":{"type":"string","readOnly":false,"nullable":true},"marksWithheld":{"type":"boolean","description":"True when this entry's marks belong to another marker and are not yet submitted.","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"candidate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"selectedBy":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}},"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"response":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Response"]}}}}},"question":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}},"markingSession":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingSession"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The MarkingInheritance object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MarkingInheritance":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingInheritance"]},"attributes":{"type":"object","properties":{"role":{"type":"string","readOnly":true,"enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"],"description":"The marker role of the session that was written into."},"inheritedResponseCount":{"type":"integer","readOnly":true,"description":"Responses whose marks were copied."},"inheritedResponseIds":{"type":"array","readOnly":true,"items":{"type":"string"},"description":"Responses whose marks, rubric marks and candidate feedback now match the earlier session. Each entry records what it was copied from."},"skippedResponseIds":{"type":"array","readOnly":true,"items":{"type":"string"},"description":"Responses this session covers that the earlier session had not marked; they are still to mark."},"settledResponseIds":{"type":"array","readOnly":true,"items":{"type":"string"},"description":"Responses this session covers whose marking is no longer the marker’s to change — an administrator’s override, or an escalation. Nothing was written to them."},"markingSessionStatus":{"type":"string","readOnly":true,"enum":["pending","locked","inProgress","inConflict","escalated","completed","rejected","finalised","voided","suspended"],"description":"The session's status after the copy."}}},"relationships":{"type":"object","properties":{"markingSession":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingSession"]}}}}},"sourceSession":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingSession"]}}}}},"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MarkingReset object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MarkingReset":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingReset"]},"attributes":{"type":"object","properties":{"role":{"type":"string","readOnly":true,"enum":["moderating","escalation","backReading"]},"reason":{"type":"string","readOnly":true},"voidedSessionIds":{"type":"array","readOnly":true,"items":{"type":"string"},"description":"The role's sessions that were voided."},"cascadedSessionIds":{"type":"array","readOnly":true,"items":{"type":"string"},"description":"Unstarted sessions of the roles that build on this one, voided with it; the marking flow creates them again when the reset pass completes."},"disabledEntryCount":{"type":"integer","readOnly":true,"description":"Marking entries retired by the reset. None is deleted; each stays queryable with `disabled: true`."},"withdrawnResponseCount":{"type":"integer","readOnly":true,"description":"Responses whose published mark came from a retired entry and now read as pending again."},"markingStateStatus":{"type":"string","readOnly":true,"enum":["pending","inProgress","marksSubmitted","finalised"]},"markingStatus":{"type":"string","readOnly":true,"nullable":true,"enum":["notStarted","inProgress","readyToFinalise","finalised","completed"],"description":"The attempt's marking status after the reset."}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"markingState":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingState"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MarkingSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MarkingSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingSession"]},"attributes":{"type":"object","properties":{"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"mode":{"type":"string","enum":["attempt","question"]},"status":{"type":"string","enum":["pending","locked","inProgress","inConflict","escalated","completed","rejected","finalised","voided","suspended"]},"suspendedFromStatus":{"type":"string","enum":["pending","locked","inProgress","inConflict","escalated","completed","rejected","finalised","voided","suspended"]},"suspendedAt":{"type":"string"},"createdAt":{"type":"string"},"timeStarted":{"type":"string"},"timeCompleted":{"type":"string"},"responseCount":{"type":"number"},"candidateFeedback":{"type":"string","nullable":true,"readOnly":false},"notes":{"type":"string","nullable":true,"readOnly":false},"feedbackWithheld":{"type":"boolean","description":"True when this session's overall feedback belongs to another marker whose session is still open.","readOnly":true},"feedbackFinal":{"type":"boolean","description":"True when this session's overall feedback is the one published onto the attempt. Only set on attempt-scoped listings.","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"candidate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"markingEntries":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["MarkingEntry"]}]}}}}}},"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"predecessor":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingSession"]}}}}},"replaces":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingSession"]}}}}},"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}},"responses":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Response"]}]}}}}}},"questions":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The MarkingSessionExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MarkingSessionExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingSessionExport"]},"attributes":{"type":"object","properties":{"attemptIds":{"type":"array","items":{"type":"string"}},"filter":{"type":"object","properties":{"propertyFilters":{"type":"array","description":"Candidate attribute filters. Each attribute may appear only once.","items":{"type":"object","required":["attribute","value"],"properties":{"attribute":{"type":"string","pattern":"^filter\\.attr\\.[a-z0-9_-]+$"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]},"operator":{"type":"string","enum":["$eq","$ne","$exists","$gt","$gte","$lt","$lte","$in","$nin","$or"]}}}},"examStatus":{"type":"array","items":{"type":"string","enum":["enrolled","notified","preflight","started","submitted","revoked","expired","cancelled"]}},"markingStatus":{"type":"array","items":{"type":"string","enum":["notStarted","inProgress","readyToFinalise","finalised","completed"]}},"gradeStatus":{"type":"array","items":{"type":"string","enum":["passed","failed"]}},"proctorStatus":{"type":"array","items":{"type":"string","enum":["disabled","enabled","readyForReview","reviewNotRequired","autoApproved","inReview","passed","failed","error"]}},"resultStatus":{"type":"array","items":{"type":"string","enum":["pending","finalised","released"]}},"lockStatus":{"type":"array","items":{"type":"string","enum":["locked","unlocked","none"]}},"systemsCheckStatus":{"type":"array","items":{"type":"string","enum":["notRun","inProgress","passed","attention"]}},"testVersions":{"type":"array","items":{"type":"string"}},"isArchived":{"type":"boolean"},"isCompleted":{"type":"boolean"}}},"search":{"type":"string"}}},"relationships":{"type":"object","properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MarkingState object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MarkingState":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MarkingState"]},"attributes":{"type":"object","properties":{"status":{"type":"string"},"statusDetail":{"type":"object"},"provisionalScore":{"type":"number"},"finalisation":{"type":"object"}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MAUPortalUsage object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MAUPortalUsage":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MAUPortalUsage"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["mau"],"readOnly":true},"billingPeriodStart":{"type":"string","readOnly":true},"billingPeriodEnd":{"type":"string","readOnly":true},"mauCount":{"type":"number","readOnly":true},"synopticRecordingCount":{"type":"number","readOnly":true},"rosalynLiveCount":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MfaActivation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MfaActivation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MfaActivation"]},"attributes":{"type":"object","properties":{"enabled":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MfaConfig object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MfaConfig":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MfaConfig"]},"attributes":{"type":"object","properties":{"enabled":{"type":"boolean","readOnly":false},"qrCode":{"type":"string","readOnly":true},"recoveryCodes":{"type":"array","items":{"type":"string"},"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MfaDeactivation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MfaDeactivation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MfaDeactivation"]},"attributes":{"type":"object","properties":{"code":{"type":"number","readOnly":false},"recoveryCode":{"type":"string","readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileAttempt object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileAttempt":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileAttempt"]},"attributes":{"type":"object","properties":{"title":{"type":"string"},"status":{"type":"string"},"quizLength":{"type":"string"},"quizMode":{"type":"string"},"testId":{"type":"string"},"masteryLevels":{"type":"array","items":{"type":"string"},"nullable":true},"timeStarted":{"type":"string"},"timeCompleted":{"type":"string"},"timerEnabled":{"type":"boolean"},"timerDuration":{"type":"number"},"score":{"type":"number","nullable":true}}},"relationships":{"type":"object","properties":{"responses":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["MobileResponse"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The MobileAudioContent object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileAudioContent":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileAudioContent"]},"attributes":{"type":"object","properties":{"path":{"type":"string","nullable":false,"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileCollection object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileCollection":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileCollection"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true},"coverImageUrl":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"folders":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["MobileCollectionFolder"]}]}}}}}},"collectionItems":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["MobileCollectionItem"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The MobileCollectionFolder object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileCollectionFolder":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileCollectionFolder"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true},"imageUrl":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"collectionItems":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["MobileCollectionItem"]}]}}}}}},"subFolders":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["MobileCollectionSubFolder"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The MobileCollectionItem object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileCollectionItem":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileCollectionItem"]},"attributes":{"type":"object","properties":{"title":{"type":"string","nullable":false,"readOnly":true},"collectionItemType":{"type":"string","nullable":false,"readOnly":true,"enum":["audio","document","embed","note","quiz","video","zip"]},"description":{"type":"string","nullable":false,"readOnly":true},"imageUrl":{"type":"string","nullable":false,"readOnly":true},"isPreviewOnly":{"type":"boolean","nullable":false,"readOnly":true},"canStudy":{"type":"boolean","readOnly":true,"nullable":false}}},"relationships":{"type":"object","properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileQuiz"]}}}}},"note":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileNote"]}}}}},"audio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileAudioContent"]}}}}},"document":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileDocumentContent"]}}}}},"embed":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileHtmlEmbedContent"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileCollectionSubFolder object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileCollectionSubFolder":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileCollectionSubFolder"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"imageUrl":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"collectionItems":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["MobileCollectionItem"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The MobileConfig object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileConfig":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileConfig"]},"attributes":{"type":"object","properties":{"portals":{"type":"array","readOnly":true,"items":{"type":"object","required":["portalId","name"],"properties":{"portalId":{"type":"string"},"name":{"type":"string"},"hostname":{"type":"string","nullable":true},"whitelabelAppiOSUrl":{"type":"string","nullable":true},"whitelabelAppAndroidUrl":{"type":"string","nullable":true}},"additionalProperties":false}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileNote object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileNote":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileNote"]},"attributes":{"type":"object","properties":{"title":{"type":"string","nullable":false,"readOnly":true},"description":{"type":"string","nullable":false,"readOnly":true},"body":{"type":"string","nullable":false,"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileQuiz object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileQuiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileQuiz"]},"attributes":{"type":"object","properties":{"title":{"type":"string"},"totalQuestions":{"type":"number"},"allowedModes":{"type":"array","items":{"type":"string","enum":["practice","exam","timedExam","test"]}},"allowedLengths":{"type":"array","items":{"type":"string","enum":["default","quick","medium","long","extraLong"]}},"hasSections":{"type":"boolean","nullable":true},"sectionCount":{"type":"number","nullable":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileResponse"]},"attributes":{"type":"object","properties":{"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"nullable":true},"status":{"type":"string","nullable":false},"leadIn":{"type":"string","nullable":true},"stem":{"type":"string","nullable":true},"feedback":{"type":"string","nullable":true},"emqInstructions":{"type":"string","nullable":true},"emqFeedback":{"type":"string","nullable":true},"options":{"type":"array","items":{"type":"object"}},"chosenOptions":{"type":"array","items":{"type":"object"},"nullable":true},"correctOptions":{"type":"array","items":{"type":"object"}},"outcome":{"type":"string","nullable":true}}},"relationships":{}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileSession"]},"attributes":{"type":"object","properties":{"sessionToken":{"type":"string"}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileSpacedLearning object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileSpacedLearning":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileSpacedLearning"]},"attributes":{"type":"object","properties":{"enabled":{"type":"boolean"},"intensityLevel":{"type":"number"},"totalStudyItems":{"type":"number"},"totalQuestions":{"type":"number"},"totalAnsweredQuestions":{"type":"number"},"competencyScore":{"type":"number"},"masteryLevel":{"type":"string"},"spacedRepetitionDueDate":{"type":"string"},"spacedRepetitionStatus":{"type":"string"},"masteryDivisions":{"type":"array","items":{"type":"object"}},"studyItemsOverview":{"type":"array","items":{"type":"object"}}}},"relationships":{"type":"object","properties":{"spacedRepetitionLatestQuiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileQuiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileStudyItem object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileStudyItem":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileStudyItem"]},"attributes":{"type":"object","properties":{"studyItemId":{"type":"string"},"itemType":{"type":"string"},"label":{"type":"string"},"totalQuestions":{"type":"number"},"totalAnsweredQuestions":{"type":"number"},"competencyScore":{"type":"number"},"masteryLevel":{"type":"string"},"masteryDivisions":{"type":"array","items":{"type":"object"}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The MobileUser object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"MobileUser":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MobileUser"]},"attributes":{"type":"object","properties":{"name":{"type":"string","nullable":true,"readOnly":false},"emailAddress":{"type":"string","nullable":true,"readOnly":false},"profilePicture":{"type":"string","nullable":true,"readOnly":false},"timeZone":{"type":"string","nullable":true,"readOnly":false},"portalId":{"type":"string","nullable":true,"readOnly":false},"attemptCount":{"type":"number","nullable":true},"questionsAnswered":{"type":"number","nullable":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The NetworkCheck object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"NetworkCheck":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["NetworkCheck"]},"attributes":{"type":"object","properties":{"key":{"type":"string","minLength":16,"maxLength":128,"writeOnly":true,"description":"The key held by the browser or desktop app reporting this run. Required for runs issued with a key."},"writerGeneration":{"type":"integer","minimum":1,"writeOnly":true,"description":"The reporting generation issued when the run was created or resumed. Send the same generation when starting and completing a check."},"downloadUrl":{"type":"string","readOnly":true,"description":"The file to download. Only on the response that starts a check; add a query string that changes each time so nothing is served from the browser’s cache."},"downloadBytes":{"type":"integer","minimum":1,"readOnly":true,"description":"How many bytes the download file holds."},"expiresAt":{"type":"string","format":"date-time","readOnly":true,"description":"When the upload addresses stop working. Only on the response that starts a check."},"uploads":{"type":"array","readOnly":true,"description":"Where to upload to, with a PUT of exactly sizeBytes of data and the stated content type. The same address may be used repeatedly until it expires. Only on the response that starts a check.","items":{"type":"object","required":["name","url","sizeBytes","contentType"],"properties":{"name":{"type":"string"},"url":{"type":"string"},"sizeBytes":{"type":"integer","minimum":1},"contentType":{"type":"string"}}}},"probes":{"type":"array","readOnly":true,"description":"Addresses of the exam’s own hosts. Request each with a plain no-cors GET: any answer at all, even an error page, means the host can be reached. Only on the response that starts a check.","items":{"type":"object","required":["name","url"],"properties":{"name":{"type":"string","enum":["files","storage"]},"url":{"type":"string"}}}},"services":{"type":"array","readOnly":true,"description":"The proctoring connections a proctored exam depends on, each to be tried the way the exam uses it: a WebSocket is opened and must answer, and the video relay must hand out a relay candidate to a peer connection that only accepts relayed ones. Left out for an exam that is not proctored. Only on the response that starts a check.","items":{"type":"object","required":["name","kind"],"properties":{"name":{"type":"string","enum":["synoptic","turn"]},"kind":{"type":"string","enum":["websocket","turn"]},"url":{"type":"string","description":"The WebSocket address, for a websocket service."},"urls":{"type":"array","items":{"type":"string"},"description":"The ICE server addresses, for a turn service."},"username":{"type":"string"},"credential":{"type":"string"}}}},"metrics":{"type":"object","additionalProperties":false,"required":["durationMs"],"description":"What the candidate’s browser measured. Every part is optional except how long the check took, and a part the browser could not measure is left out.","properties":{"durationMs":{"type":"number","minimum":0,"maximum":600000},"reachability":{"type":"object","additionalProperties":false,"description":"Whether the browser got any answer at all from the exam’s own hosts, which the probes it was handed point at. A part the browser could not test is left out.","properties":{"files":{"type":"boolean","description":"The host exam media is served from."},"storage":{"type":"boolean","description":"The accelerated storage endpoint answers are uploaded to."},"synoptic":{"type":"boolean","description":"The proctoring server answered over a WebSocket. Only for a proctored attempt."},"turn":{"type":"boolean","description":"The video relay handed out a relay candidate. Only for a proctored attempt."}}},"synopticSocket":{"type":"object","additionalProperties":false,"required":["heldMs","closedEarly"],"description":"How the proctoring socket fared once it had answered: the browser holds it open for the rest of the check, so a network that lets a WebSocket open and then cuts it off shows up here. Left out when the socket never answered.","properties":{"heldMs":{"type":"number","minimum":0,"maximum":600000,"description":"How long the socket stayed open before the browser let it go, or before the network closed it."},"closedEarly":{"type":"boolean","description":"The network closed the socket before the browser let it go."},"closeCode":{"type":"integer","minimum":0,"maximum":65535,"description":"The WebSocket close code, when the network closed it."}}},"probes":{"type":"object","additionalProperties":false,"required":["attempts","failures"],"description":"Every small request made during the check: reachability probes, API pings and the latency requests.","properties":{"attempts":{"type":"integer","minimum":0,"maximum":10000},"failures":{"type":"integer","minimum":0,"maximum":10000}}},"api":{"type":"object","additionalProperties":false,"required":["count","failures"],"properties":{"count":{"type":"integer","minimum":0,"maximum":10000},"failures":{"type":"integer","minimum":0,"maximum":10000},"medianMs":{"type":"number","minimum":0,"maximum":600000},"p95Ms":{"type":"number","minimum":0,"maximum":600000}},"description":"Authenticated pings of the API."},"latency":{"type":"object","additionalProperties":false,"description":"Small requests to the download host, while nothing else was moving and while a transfer was.","properties":{"idle":{"type":"object","additionalProperties":false,"required":["count","failures"],"properties":{"count":{"type":"integer","minimum":0,"maximum":10000},"failures":{"type":"integer","minimum":0,"maximum":10000},"medianMs":{"type":"number","minimum":0,"maximum":600000},"p95Ms":{"type":"number","minimum":0,"maximum":600000}}},"loaded":{"type":"object","additionalProperties":false,"required":["count","failures"],"properties":{"count":{"type":"integer","minimum":0,"maximum":10000},"failures":{"type":"integer","minimum":0,"maximum":10000},"medianMs":{"type":"number","minimum":0,"maximum":600000},"p95Ms":{"type":"number","minimum":0,"maximum":600000}}}}},"download":{"type":"object","additionalProperties":false,"required":["bytes","durationMs","failed","aborted"],"properties":{"bytes":{"type":"number","minimum":0,"maximum":1000000000},"durationMs":{"type":"number","minimum":0,"maximum":600000},"throughputMbps":{"type":"number","minimum":0,"maximum":100000},"longestStallMs":{"type":"number","minimum":0,"maximum":600000,"description":"The longest stretch in which no data moved while the transfer was under way."},"failed":{"type":"boolean","description":"The request errored."},"aborted":{"type":"boolean","description":"The client gave up because no data moved for several seconds. A transfer that was only cut off by the time allowed, while still moving, is neither failed nor aborted."}}},"upload":{"type":"object","additionalProperties":false,"required":["bytes","durationMs","failed","aborted"],"properties":{"bytes":{"type":"number","minimum":0,"maximum":1000000000},"durationMs":{"type":"number","minimum":0,"maximum":600000},"throughputMbps":{"type":"number","minimum":0,"maximum":100000},"longestStallMs":{"type":"number","minimum":0,"maximum":600000,"description":"The longest stretch in which no data moved while the transfer was under way."},"failed":{"type":"boolean","description":"The request errored."},"aborted":{"type":"boolean","description":"The client gave up because no data moved for several seconds. A transfer that was only cut off by the time allowed, while still moving, is neither failed nor aborted."}}},"connection":{"type":"object","additionalProperties":false,"description":"What the browser says about the connection, kept as context only.","properties":{"effectiveType":{"type":"string","maxLength":16},"downlinkMbps":{"type":"number","minimum":0,"maximum":100000},"rttMs":{"type":"number","minimum":0,"maximum":600000},"saveData":{"type":"boolean"}}}},"writeOnly":true},"overall":{"type":"string","enum":["ok","warn","error"],"readOnly":true,"description":"How the candidate’s connection looks, from the results that clearly mean trouble. Only on the response that completes a check."}}},"relationships":{"type":"object","properties":{"preflightRun":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PreflightRun"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Note object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Note":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Note"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"slug":{"type":"string","readOnly":true},"privacy":{"type":"string","readOnly":false},"description":{"type":"string","readOnly":false},"shortDescription":{"type":"string","readOnly":false},"body":{"type":"string","readOnly":false},"isArchived":{"type":"boolean","readOnly":false},"isLegalDoc":{"type":"boolean","readOnly":false},"isLibraryItem":{"type":"boolean","readOnly":true},"settings":{"deprecated":true,"description":"Deprecated. Use settingsDisplaySize and settingsPaddingEnabled instead.","type":"object","readOnly":false},"settingsDisplaySize":{"type":"string","readOnly":false,"enum":["narrow","fullWidth"]},"settingsPaddingEnabled":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The NotFoundApiError object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"NotFoundApiError":{"type":"object","description":"The request resource could not be found.","properties":{"id":{"type":"string","description":"Unique ID of this error occurrence."},"status":{"type":"string","description":"HTTP status code."},"code":{"type":"string","description":"Synap internal error code."},"title":{"type":"string"},"detail":{"type":"string"},"source":{"type":"object","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"}}}}}}}}
```

## The NotificationGroup object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"NotificationGroup":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["NotificationGroup"]},"attributes":{"type":"object","required":["groupId","label","defaultValue","description"],"properties":{"groupId":{"type":"string","enum":["AssignmentAdmin","Assignments","Exams","ExamResults","ExamAdmin","Products","SpacedLearning","Flags","System"],"readOnly":true},"label":{"type":"string","readOnly":true},"defaultValue":{"type":"boolean","readOnly":true},"description":{"type":"string","readOnly":true},"recipientType":{"type":"array","items":{"type":"string","enum":["portal","admin","moderator","student"]},"readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ObjectId object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Passkey object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Passkey":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Passkey"]},"attributes":{"type":"object","properties":{"name":{"type":"string","maxLength":64,"readOnly":false},"rpId":{"type":"string","readOnly":true},"credentialId":{"type":"string","readOnly":true},"deviceType":{"type":"string","readOnly":true,"nullable":true},"backedUp":{"type":"boolean","readOnly":true,"nullable":true},"createdAt":{"type":"string","readOnly":true,"nullable":true},"lastUsedAt":{"type":"string","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PasskeyAuthentication object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PasskeyAuthentication":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PasskeyAuthentication"]},"attributes":{"type":"object","properties":{"sessionToken":{"type":"string","readOnly":true},"subPortalId":{"type":"string","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PasskeyAuthenticationOptions object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PasskeyAuthenticationOptions":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PasskeyAuthenticationOptions"]},"attributes":{"type":"object","properties":{"options":{"type":"object","readOnly":true,"additionalProperties":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PasskeyEnrolmentDeferral object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PasskeyEnrolmentDeferral":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PasskeyEnrolmentDeferral"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PasskeyRegistrationOptions object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PasskeyRegistrationOptions":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PasskeyRegistrationOptions"]},"attributes":{"type":"object","properties":{"options":{"type":"object","readOnly":true,"additionalProperties":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PasskeyRevocation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PasskeyRevocation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PasskeyRevocation"]},"attributes":{"type":"object","properties":{"passkeyId":{"type":"string","readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PasswordReset object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PasswordReset":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PasswordReset"]},"attributes":{"type":"object","properties":{"emailAddress":{"type":"string","readOnly":false},"instant":{"type":"boolean","description":"Resets password immediately. Only available to admins.","readOnly":false},"passwordStyle":{"type":"string","enum":["strong","simple"],"description":"Which kind of password to generate for an instant reset. `simple` returns a short, readable password that is easy to pass on verbally. Defaults to `strong`.","readOnly":true},"newPassword":{"type":"string","description":"The users new password. On create it can only be supplied alongside `instant`, and not alongside `passwordStyle`.","readOnly":false}}},"relationships":{"type":"object","properties":{"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PasswordResetRequest object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PasswordResetRequest":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PasswordResetRequest"]},"attributes":{"type":"object","required":["emailAddress"],"properties":{"emailAddress":{"type":"string","readOnly":false},"instant":{"type":"boolean","description":"Resets password immediately. Only available to admins.","readOnly":false},"newPassword":{"type":"string","description":"New password for the user. Only available if instant is true.","readOnly":true}}},"relationships":{"type":"object","properties":{"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PAYGPortalUsage object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PAYGPortalUsage":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PAYGPortalUsage"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["payg"],"readOnly":true},"creditsAllocated":{"type":"number","readOnly":true},"creditsUsed":{"type":"number","readOnly":true},"creditsRemaining":{"type":"number","readOnly":true},"overage":{"type":"number","readOnly":true},"usageByBillingPeriod":{"type":"array","items":{"type":"object","properties":{"billingPeriodStart":{"type":"string"},"billingPeriodEnd":{"type":"string"},"creditsUsed":{"type":"number"},"examRosalynReview":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"assignment":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examRosalynLockdown":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticLockdown":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examRosalynLive":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticRecorded":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2NoRecordingBase":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2NoRecordingExtra":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2RecreationBase":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2RecreationExtra":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2RecordedBase":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2RecordedExtra":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2AiReviewBase":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2AiReviewExtra":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"study":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examUnproctored":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}}}},"readOnly":true}}},"relationships":{"type":"object","properties":{"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PdfAnnotation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PdfAnnotation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PdfAnnotation"]},"attributes":{"type":"object","properties":{"collectionItemId":{"type":"string","readOnly":true},"pageNumber":{"type":"integer","readOnly":true},"body":{"type":"object","description":"JSON blob containing strokes and text annotations for the page","properties":{"strokes":{"type":"array","items":{"type":"object","properties":{"points":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}}}},"color":{"type":"string"},"width":{"type":"number"},"mode":{"type":"string","enum":["pen","highlighter","eraser"]},"textSnapMode":{"type":"boolean"},"textSnapData":{"type":"object","properties":{"baseline":{"type":"number"},"height":{"type":"number"},"lineEndX":{"type":"number"}}}}}},"textAnnotations":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"text":{"type":"string"},"color":{"type":"string"},"fontSize":{"type":"number"}}}},"pageWidth":{"type":"number"},"pageHeight":{"type":"number"}}}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PersonalAccessToken object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PersonalAccessToken":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PersonalAccessToken"]},"attributes":{"type":"object","properties":{"label":{"type":"string","maxLength":100,"readOnly":true},"createdAt":{"type":"string","readOnly":true},"lastUsedAt":{"type":"string","readOnly":true},"isRevoked":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PhoneCapture object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PhoneCapture":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PhoneCapture"]},"attributes":{"type":"object","properties":{"ready":{"type":"boolean","readOnly":true},"region":{"type":"string","readOnly":true},"generation":{"type":"string","format":"uuid","readOnly":true},"writerGeneration":{"type":"integer","minimum":1,"readOnly":true},"paired":{"type":"boolean","readOnly":true},"publisherEnabled":{"type":"boolean","readOnly":true},"secondCameraRequired":{"type":"boolean","readOnly":true},"roomScanId":{"type":"string","readOnly":true},"pairExpiresAt":{"type":"string","format":"date-time","readOnly":true},"capabilityExpiresAt":{"type":"string","format":"date-time","readOnly":true},"sessionId":{"type":"string","readOnly":true},"pairToken":{"type":"string","readOnly":true,"description":"Single-use pairing secret returned only when pairing is created."},"capability":{"type":"string","readOnly":true,"description":"Scoped phone secret returned only when the phone claims pairing."},"publisher":{"type":"object","readOnly":true,"properties":{"token":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}},"required":["token","expiresAt"]}},"required":["region","generation","writerGeneration","paired","secondCameraRequired","pairExpiresAt"]},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PhoneCaptureCapability object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PhoneCaptureCapability":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PhoneCaptureCapability"]},"attributes":{"type":"object","properties":{"ready":{"type":"boolean","readOnly":true},"region":{"type":"string","readOnly":true},"generation":{"type":"string","format":"uuid","readOnly":true},"writerGeneration":{"type":"integer","minimum":1,"readOnly":true},"paired":{"type":"boolean","readOnly":true},"publisherEnabled":{"type":"boolean","readOnly":true},"secondCameraRequired":{"type":"boolean","readOnly":true},"roomScanId":{"type":"string","readOnly":true},"pairExpiresAt":{"type":"string","format":"date-time","readOnly":true},"capabilityExpiresAt":{"type":"string","format":"date-time","readOnly":true},"sessionId":{"type":"string","readOnly":true},"pairToken":{"type":"string","readOnly":true,"description":"Single-use pairing secret returned only when pairing is created."},"capability":{"type":"string","readOnly":true,"description":"Scoped phone secret returned only when the phone claims pairing."},"publisher":{"type":"object","readOnly":true,"properties":{"token":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}},"required":["token","expiresAt"]}},"required":["region","generation","writerGeneration","paired","secondCameraRequired","pairExpiresAt"]},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PhoneCaptureRoomScan object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PhoneCaptureRoomScan":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PhoneCaptureRoomScan"]},"attributes":{"type":"object","properties":{"preflightRunId":{"type":"string","readOnly":true},"writerGeneration":{"type":"integer","minimum":1},"key":{"type":"string","minLength":16,"maxLength":128,"writeOnly":true},"prepareUpload":{"type":"boolean","enum":[true],"writeOnly":true,"description":"Prepare an upload and return its signed details. Requires method, key and writerGeneration; webcam uploads also require contentType and size."},"contentType":{"type":"string","enum":["video/mp4","video/webm"],"writeOnly":true},"size":{"type":"integer","minimum":1,"maximum":262144000,"writeOnly":true},"uploadId":{"type":"string","format":"uuid"},"uploadUrl":{"type":"string","format":"uri","readOnly":true},"uploadFields":{"type":"object","additionalProperties":{"type":"string"},"readOnly":true},"uploadExpiresAt":{"type":"string","format":"date-time","readOnly":true},"isSubmitted":{"type":"boolean","enum":[true],"writeOnly":true,"description":"Submit the current upload. Requires uploadId, key and writerGeneration. Cannot be combined with review or other candidate updates."},"cancelUpload":{"type":"boolean","enum":[true],"writeOnly":true,"description":"Discard an unsubmitted upload. Requires key and writerGeneration."},"attemptId":{"type":"string","readOnly":true},"coverage":{"type":"string","enum":["off","workspace","full"],"readOnly":true},"device":{"type":"string","enum":["phone","webcam","either"],"readOnly":true},"state":{"type":"string","enum":["created","uploaded","ready"],"readOnly":true},"availability":{"type":"string","enum":["available","pending","expired","redacted"],"readOnly":true},"finding":{"type":"string","enum":["notReviewed","green","amber","red"]},"reasons":{"type":"array","items":{"type":"string","enum":["poorImageQuality","inadequateCoverage","prohibitedItems"]}},"comment":{"type":"string","maxLength":4000},"submittedAt":{"type":"string","format":"date-time","readOnly":true},"reviewedAt":{"type":"string","format":"date-time","readOnly":true},"reviewedBy":{"type":"string","readOnly":true},"redactedAt":{"type":"string","format":"date-time","readOnly":true},"redactedBy":{"type":"string","readOnly":true},"expiresAt":{"type":"string","format":"date-time","readOnly":true},"maximumBytes":{"type":"integer","readOnly":true},"minimumDurationSeconds":{"type":"number","readOnly":true},"maximumDurationSeconds":{"type":"number","readOnly":true},"method":{"type":"string","enum":["phone","webcam"]},"reportedRecordedAt":{"type":"string","format":"date-time"},"browser":{"type":"string","maxLength":120},"os":{"type":"string","maxLength":120},"playbackUrl":{"type":"string","readOnly":true},"authoritative":{"type":"boolean","readOnly":true},"reviewGuidance":{"type":"string","readOnly":true},"canReview":{"type":"boolean","readOnly":true},"locale":{"type":"string","readOnly":true},"providerName":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PlayerAttempt object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerAttempt":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerAttempt"]},"attributes":{"type":"object","properties":{"title":{"type":"string","readOnly":true},"quizMode":{"type":"string","enum":["exam","practice","timedExam"],"readOnly":true},"timeStarted":{"type":"string","readOnly":false},"activeTime":{"type":"object","readOnly":true,"additionalProperties":false,"description":"Recorded cumulative active-millisecond counters, for seeding the player ledgers on resume. The maps are keyed by sectionId; attemptInstructionsMs covers the attempt-level instructions screen.","properties":{"sectionMs":{"type":"object","additionalProperties":{"type":"integer","minimum":0}},"sectionInstructionsMs":{"type":"object","additionalProperties":{"type":"integer","minimum":0}},"sectionOutroMs":{"type":"object","additionalProperties":{"type":"integer","minimum":0}},"attemptInstructionsMs":{"type":"integer","minimum":0}}},"timeCompleted":{"type":"string","readOnly":false},"theme":{"type":"string","enum":["default","ucat"],"readOnly":true},"fontSize":{"type":"string","enum":["xLarge","large","medium","small","xSmall"],"readOnly":true},"pinnedMessage":{"type":"string","readOnly":true},"disableNavigation":{"type":"boolean","readOnly":true},"disableControlPanel":{"type":"boolean","readOnly":true},"disableNotifications":{"type":"boolean","readOnly":true},"proctorEnabled":{"type":"boolean","readOnly":true},"proctorVendor":{"type":"string","enum":["synopticV2","rosalyn"],"readOnly":true},"proctorRequireSecondCamera":{"type":"boolean","readOnly":true,"nullable":true},"proctorSessionId":{"type":"string","readOnly":true},"examStatus":{"type":"string","enum":["enrolled","expired","notified","preflight","revoked","started","submitted","cancelled"],"readOnly":false},"status":{"type":"string","readOnly":false,"enum":["completed","inProgress","instructionsInProgress","instructionsCompleted","locked","notStarted","revoked","scheduled"]},"submissionType":{"type":"string","readOnly":false,"nullable":true,"enum":["user","system","moderator","userTimedOut","abandoned",null]},"scheduleStatus":{"type":"string","enum":["active","cancelled","completed","draft","scheduled"],"readOnly":true},"attr":{"type":"object","readOnly":true},"openTime":{"type":"string","readOnly":true},"closeTime":{"type":"string","readOnly":true},"certificateStatus":{"type":"string","nullable":true,"readOnly":true,"enum":["pending","generated","notEligible",null]},"credits":{"type":"number","readOnly":true},"penalties":{"type":"number","readOnly":true},"maxPoints":{"type":"number","readOnly":true},"points":{"type":"number","readOnly":true},"showAvailableMarks":{"type":"boolean","readOnly":true},"score":{"type":"number","readOnly":true},"candidateFeedback":{"type":"string","readOnly":true},"resultsUpdatedAt":{"type":"string","format":"date-time","readOnly":true,"description":"When the released result was last corrected after its release. Absent when it never was, before release, and wherever marks are not shown."},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"questionBreakdownDisplay":{"type":"string","readOnly":true,"enum":["full","hideStemAndOptions","hideCorrectOptions","incorrectOnlyHideCorrectOptions","none"]},"resultsEducatorViewAsAdminEnabled":{"type":"boolean","readOnly":true},"resultsDetailedViewEnabled":{"type":"boolean","readOnly":true},"resultsHiddenMessage":{"type":"string","nullable":true,"readOnly":true},"resultsHiddenSettingHideTitle":{"type":"boolean","readOnly":true},"isDynamic":{"type":"boolean","readOnly":true},"timerEnabled":{"type":"boolean","readOnly":true},"timerDuration":{"type":"number","readOnly":true},"timerType":{"type":"string","enum":["questions","sections","default"],"readOnly":true},"enforceFullTime":{"type":"boolean","readOnly":true},"softTimer":{"type":"boolean","readOnly":true},"extraTimeMultiplier":{"type":"number","readOnly":true},"features":{"type":"array","items":{"type":"string","enum":["bookmarking","resizableQuestionPanels","strikeThrough","highlighting","notepad","calculator","scientificCalculator","flagging","resumeLater","softSections","micSettings"]},"readOnly":true},"externalPlayer":{"type":"string","enum":["default","ucat","usmle"],"readOnly":true},"disableCopying":{"type":"boolean","readOnly":true,"nullable":false},"disablePasting":{"type":"boolean","readOnly":true,"nullable":false},"disableRightClick":{"type":"boolean","readOnly":true,"nullable":false},"labValues":{"type":"string","readOnly":true,"nullable":true},"additionalInformation":{"type":"string","readOnly":true,"nullable":true},"additionalInformationTitle":{"type":"string","readOnly":true,"nullable":true},"additionalInformationIcon":{"type":"string","readOnly":true,"nullable":true},"markingPenaltiesEnabled":{"type":"boolean","readOnly":true,"nullable":false},"instructionsEnabled":{"type":"boolean","readOnly":true,"nullable":false},"instructionsTitle":{"type":"string","nullable":true,"readOnly":true,"minLength":1,"maxLength":300},"instructionsBody":{"type":"string","nullable":true,"readOnly":true,"minLength":1,"maxLength":25000},"instructionsTimeStarted":{"type":"string","readOnly":true},"instructionsTimeCompleted":{"type":"string","readOnly":true},"instructionsTimerDurationMs":{"type":"number","nullable":true,"readOnly":true,"minimum":1,"maximum":86400000},"instructionsEnforcedTimer":{"type":"string","readOnly":true,"enum":["afterAudioStarts","immediately"]},"instructionsAudioAutoAdvance":{"type":"string","readOnly":true,"enum":["disabled","afterDefinedTime","immediately"]},"instructionsAudioAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":true,"minimum":0,"maximum":3600000},"instructionsAudioAutoPlay":{"type":"boolean","readOnly":true,"nullable":true},"instructionsDisableAudioControls":{"type":"boolean","readOnly":true,"nullable":true},"excludeInformationalQuestionsFromCounts":{"type":"boolean","readOnly":true,"nullable":true},"reviewAndSubmitEnabled":{"type":"boolean","readOnly":true},"ignoreSkippedResponses":{"type":"boolean","readOnly":true,"nullable":true},"isPreview":{"type":"boolean","readOnly":true,"nullable":true},"ltiLaunch":{"type":"object","readOnly":true,"nullable":true,"required":["consumerKey","contextId","resourceLinkId"],"description":"LTI launch parameters","properties":{"consumerKey":{"type":"string","readOnly":true},"contextId":{"type":"string","readOnly":true},"resourceLinkId":{"type":"string","readOnly":true},"lisResultSourcedId":{"type":"string","readOnly":true},"lisOutcomeServiceUrl":{"type":"string","readOnly":true},"launchPresentationReturnUrl":{"type":"string","readOnly":true}}},"resitCloseDelay":{"type":"number","readOnly":true},"resitDelay":{"type":"number","readOnly":true},"resitEnabled":{"type":"boolean","readOnly":true},"resitGradeIndependent":{"type":"boolean","readOnly":true},"resitMode":{"type":"string","enum":["standard","fixed","progressive","preferUnseen","failedSectionsOnly"],"nullable":true,"readOnly":true},"resitScheduleActivatedAt":{"type":"string","readOnly":true},"resitScheduleDeactivatedAt":{"type":"string","nullable":true,"readOnly":true},"resitType":{"type":"string","enum":["continuous","rolling","fixedDate","onDemand"],"nullable":true,"readOnly":true}}},"relationships":{"type":"object","properties":{"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}},"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"audioInstructions":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"responses":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["PlayerAudioResponse","PlayerVideoResponse","PlayerClozeDragAndDropResponse","PlayerClozeDropDownResponse","PlayerClozeTextResponse","PlayerFileUploadResponse","PlayerFreeTextResponse","PlayerInformationalResponse","PlayerMultipleChoiceResponse","PlayerRankedResponse","PlayerSingleChoiceResponse","PlayerShortAnswerResponse","PlayerSpreadsheetResponse","PlayerImageHotspotResponse","PlayerOffPlatformResponse","PlayerFlashcardResponse","PlayerTrueOrFalseResponse","PlayerDrawingResponse","PlayerMatchingResponse","PlayerImageLabellingDragAndDropResponse","PlayerImageLabellingDropDownResponse","PlayerImageLabellingTextResponse","PlayerClassificationResponse","PlayerChoiceMatrixResponse","PlayerTextSelectionResponse","PlayerCodingResponse","PlayerBowTieResponse","PlayerLikertResponse","PlayerNumericAnswerResponse"]}]}}}}}},"sections":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["PlayerSection"]}]}}}}}},"certificate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Certificate"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerAudioResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerAudioResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerAudioResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"label":{"type":"string","readOnly":true},"allowDelete":{"type":"boolean","readOnly":true},"allowPause":{"type":"boolean","readOnly":true},"allowRerecord":{"type":"boolean","readOnly":true},"maximumRecordingTimeInMs":{"type":"number","maximum":3600000,"readOnly":true},"autoRecording":{"type":"boolean","readOnly":true},"autoRecordingAllowEarlySubmission":{"type":"boolean","readOnly":true},"autoRecordingDelayMs":{"type":"number","maximum":3600000,"readOnly":true},"autoAdvance":{"type":"string","enum":["disabled","afterDefinedTime","afterAudioCompletion"],"readOnly":true},"autoAdvanceDelayMs":{"type":"number","maximum":3600000,"readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"answer":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerBowTieResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerBowTieResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerBowTieResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"optionFormat":{"type":"string","readOnly":true,"enum":["plainText","richText"],"description":"Always plainText: bow tie options are plain text only, and options saved as rich text are returned as plain text."},"groups":{"type":"array","readOnly":true,"description":"The three groups in left, centre, right order, each with its own pool of options.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","enum":["left","centre","right"],"readOnly":true},"label":{"type":"string","readOnly":true,"description":"The plain text heading shown above the group."},"selectCount":{"type":"integer","readOnly":true,"description":"How many options the candidate selects from this group."},"options":{"type":"array","readOnly":true,"description":"The options of this group, in the order this candidate sees them.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text, to be shown as typed. Options of questions saved as rich text before bow tie options became plain text only are returned as plain text, with the markup removed."}}}}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"description":"The option placed in each slot. A slot that is left out is empty. Null clears every answer. A group can use an option once only.","items":{"type":"object","additionalProperties":false,"required":["groupKey","slot","optionKey"],"properties":{"groupKey":{"type":"string","enum":["left","centre","right"]},"slot":{"type":"integer","minimum":0,"description":"The zero-based slot of the group: 0 or 1 for left and right, 0 for centre."},"optionKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}}}},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The correct options of each group, in left, centre, right order. Only present once the answers can be revealed. The order of the options within a group is not significant.","items":{"type":"object","readOnly":true,"properties":{"groupKey":{"type":"string","enum":["left","centre","right"],"readOnly":true},"optionKeys":{"type":"array","readOnly":true,"items":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true}}}}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerChoiceMatrixResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerChoiceMatrixResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerChoiceMatrixResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"selectionMode":{"type":"string","readOnly":true,"enum":["single","multiple"]},"rowFormat":{"type":"string","readOnly":true,"enum":["plainText","richText"]},"optionFormat":{"type":"string","readOnly":true,"enum":["plainText","richText"]},"rows":{"type":"array","readOnly":true,"description":"The rows, in the order they are shown.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text or rich text HTML, as set by rowFormat for a row and by optionFormat for an option."}}}},"options":{"type":"array","readOnly":true,"description":"The options shared by every row, in the order they are shown.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text or rich text HTML, as set by rowFormat for a row and by optionFormat for an option."}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"description":"The options selected in each answered row. A row that is left out, or sent with no options, is unanswered. When selectionMode is single a row has at most one option. Null clears every answer.","items":{"type":"object","additionalProperties":false,"required":["rowKey","optionKeys"],"properties":{"rowKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"optionKeys":{"type":"array","items":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}}}}},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The correct options for each row. Only present once the answers can be revealed.","items":{"type":"object","additionalProperties":false,"required":["rowKey","optionKeys"],"properties":{"rowKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"optionKeys":{"type":"array","items":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}}},"readOnly":true}},"rowResults":{"type":"array","readOnly":true,"nullable":true,"description":"Whether the selection in each row equals its correct options. Only present once the answers can be revealed.","items":{"type":"object","readOnly":true,"properties":{"rowKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"correct":{"type":"boolean","readOnly":true}}}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerClassificationResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerClassificationResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerClassificationResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"itemFormat":{"type":"string","readOnly":true,"enum":["plainText","richText"]},"items":{"type":"array","readOnly":true,"description":"The items, in the order this candidate sees them.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text or rich text HTML for an item, as set by itemFormat. Plain text for a category."}}}},"categories":{"type":"array","readOnly":true,"description":"The categories, in the order this candidate sees them.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text or rich text HTML for an item, as set by itemFormat. Plain text for a category."}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"description":"The category chosen for each classified item. An item that is left out is unclassified. Null clears every answer.","items":{"type":"object","additionalProperties":false,"required":["itemKey","categoryKey"],"properties":{"itemKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"categoryKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}}}},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The correct category for each item. Only present once the answers can be revealed.","items":{"type":"object","additionalProperties":false,"required":["itemKey","categoryKey"],"properties":{"itemKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"categoryKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}},"readOnly":true}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerClozeDragAndDropResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerClozeDragAndDropResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerClozeDragAndDropResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"template":{"type":"string","readOnly":true,"nullable":true},"canReusePossibleResponses":{"type":"boolean","readOnly":true},"shareCorrectResponses":{"type":"boolean","readOnly":false},"blanks":{"type":"array","items":{"type":"object","properties":{"blankId":{"type":"string","readOnly":true},"value":{"type":"string","readOnly":true},"optionId":{"type":"string","readOnly":true}}},"readOnly":true},"answers":{"type":"array","items":{"type":"object","properties":{"blankId":{"type":"string","readOnly":false},"value":{"type":"string","readOnly":false},"optionId":{"type":"string","readOnly":false}}},"readOnly":false,"nullable":true},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"items":{"type":"object","readOnly":true,"properties":{"blankId":{"type":"string"},"optionId":{"type":"string"},"value":{"type":"string"},"credits":{"type":"number"}}}}},"anyOf":[{"description":"canReusePossibleResponses can be false when shareCorrectResponses is true","properties":{"canReusePossibleResponses":{"enum":[false]},"shareCorrectResponses":{"enum":[true]}}},{"description":"shareCorrectResponses can be false when canReusePossibleResponses is true","properties":{"canReusePossibleResponses":{"enum":[true]},"shareCorrectResponses":{"enum":[false]}}},{"description":"both canReusePossibleResponses and shareCorrectResponses can be false","properties":{"canReusePossibleResponses":{"enum":[false]},"shareCorrectResponses":{"enum":[false]}}}]},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerClozeDropDownResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerClozeDropDownResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerClozeDropDownResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"template":{"type":"string","readOnly":true,"nullable":true},"canReusePossibleResponses":{"type":"boolean","readOnly":true},"blanks":{"type":"array","items":{"type":"object","properties":{"blankId":{"type":"string","readOnly":true},"value":{"type":"string","readOnly":true}}},"readOnly":true},"answers":{"type":"array","items":{"type":"object","properties":{"blankId":{"type":"string","readOnly":false},"value":{"type":"string","readOnly":false,"minLength":1}}},"readOnly":false,"nullable":true},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"items":{"type":"object","readOnly":true,"properties":{"blankId":{"type":"string"},"value":{"type":"string"},"credits":{"type":"number"}}}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerClozeTextResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerClozeTextResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerClozeTextResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"template":{"type":"string","readOnly":true,"nullable":true},"caseMatch":{"type":"boolean","readOnly":true},"disableSpellcheck":{"type":"boolean","readOnly":true},"canReusePossibleResponses":{"type":"boolean","readOnly":true},"blanks":{"type":"array","items":{"type":"object","properties":{"blankId":{"type":"string"},"type":{"type":"string","enum":["text","number"]}}},"readOnly":true},"answers":{"type":"array","items":{"type":"object","properties":{"blankId":{"type":"string"},"type":{"type":"string","enum":["text","number"]},"value":{"anyOf":[{"type":"string","nullable":true},{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}}}]}}},"readOnly":false,"nullable":true},"correctAnswers":{"type":"array","items":{"type":"object","properties":{"blankId":{"type":"string"},"type":{"type":"string","enum":["text","number"]},"value":{"anyOf":[{"type":"string","nullable":true},{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}}}]},"credits":{"type":"number"}}},"readOnly":true,"nullable":true},"decimalEnforcement":{"type":"number","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerCodingResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerCodingResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerCodingResponse"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"language":{"type":"string","readOnly":true,"enum":["javascript","typescript","html","css","python"],"description":"The language the code editor highlights."},"template":{"type":"string","readOnly":true,"nullable":true,"description":"The starting code from the question, as plain text. Seed the editor with it only while code is null; a saved code, including an empty string, is never replaced."},"code":{"type":"string","readOnly":false,"nullable":true,"maxLength":100000,"description":"The candidate code as plain text, stored exactly as sent with no trimming or encoding. An empty string is a saved, emptied answer. Null clears the saved answer. Null when nothing has been saved. Not returned in the response to an update."}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerDrawingResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerDrawingResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerDrawingResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"answer":{"type":"string","nullable":true,"readOnly":false,"maxLength":400000},"eraserEnabled":{"type":"boolean","nullable":true,"readOnly":true},"colourPickerEnabled":{"type":"boolean","nullable":true,"readOnly":true},"strokeWidthPickerEnabled":{"type":"boolean","nullable":true,"readOnly":true},"freehandPenEnabled":{"type":"boolean","nullable":true,"readOnly":true},"drawRectEnabled":{"type":"boolean","nullable":true,"readOnly":true},"drawEllipseEnabled":{"type":"boolean","nullable":true,"readOnly":true},"drawLineEnabled":{"type":"boolean","nullable":true,"readOnly":true},"drawArrowEnabled":{"type":"boolean","nullable":true,"readOnly":true},"drawTextEnabled":{"type":"boolean","nullable":true,"readOnly":true},"canvasWidth":{"type":"number","nullable":true,"readOnly":true},"canvasHeight":{"type":"number","nullable":true,"readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"backgroundImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerEmqGroup object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerEmqGroup":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]},"attributes":{"type":"object","properties":{"instructions":{"type":"string","readOnly":true},"feedback":{"type":"string","nullable":true,"readOnly":true},"hideQuestionStem":{"type":"boolean","readOnly":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioPlaybackLimit":{"type":"number","readOnly":true},"audioAutoPlay":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"audioInstructions":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PlayerFileUploadResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerFileUploadResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerFileUploadResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"label":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"answers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["File"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerFlashcardResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerFlashcardResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerFlashcardResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"answer":{"type":"string","enum":["correct","incorrect","skipped","unsure",null],"readOnly":false,"nullable":true},"isAnswerRevealed":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerFreeTextResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerFreeTextResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerFreeTextResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"label":{"type":"string","readOnly":true},"wordCount":{"type":"number","readOnly":true},"showWordCount":{"type":"boolean","readOnly":true},"maxWordCount":{"type":"number","readOnly":true,"nullable":true,"minimum":0},"enforcePlainTextInput":{"type":"boolean","readOnly":true},"enableWebcamSnapshots":{"type":"boolean","readOnly":true},"enableEquationEditor":{"type":"boolean","readOnly":true},"disableSpellcheck":{"type":"boolean","readOnly":true},"answer":{"type":"string","readOnly":false},"answerTemplate":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerImageHotspotResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerImageHotspotResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerImageHotspotResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"answer":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"},"matchedHotspotSlug":{"type":"string","nullable":true}},"additionalProperties":false},"answers":{"type":"array","nullable":true,"items":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number"},"y":{"type":"number"},"matchedHotspotSlug":{"type":"string","nullable":true}},"additionalProperties":false}},"correctAnswers":{"type":"array","items":{"type":"object","required":["slug","shape","coords"],"properties":{"slug":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string"},"shape":{"type":"string","enum":["rect","ellipse","polygon"]},"coords":{"oneOf":[{"type":"object","properties":{"centerX":{"type":"number"},"centerY":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"rotation":{"type":"number","nullable":true}},"required":["centerX","centerY","width","height"],"additionalProperties":false},{"type":"object","properties":{"points":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"minItems":3,"maxItems":50}},"required":["points"],"additionalProperties":false}]},"credits":{"type":"number"},"penalties":{"type":"number"},"isCorrect":{"type":"boolean"}},"additionalProperties":false},"readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"hotspotImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerImageLabellingDragAndDropResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerImageLabellingDragAndDropResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerImageLabellingDragAndDropResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"optionFormat":{"type":"string","readOnly":true,"enum":["plainText","richText"]},"allowOptionReuse":{"type":"boolean","readOnly":true},"tileWidth":{"type":"number","readOnly":true,"description":"The width of every slot and answer tile as a percentage of the image width."},"tileHeight":{"type":"number","readOnly":true,"description":"The height of every slot and answer tile as a percentage of the image height."},"transparentSlots":{"type":"boolean","readOnly":true},"backgroundAltText":{"type":"string","readOnly":true,"nullable":true},"optionGroups":{"type":"array","readOnly":true,"description":"The option groups, in the order the author set. Empty when the options are not split into groups.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"label":{"type":"string","readOnly":true}}}},"slots":{"type":"array","readOnly":true,"description":"The slots, in the order the author set.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"centerX":{"type":"number","readOnly":true,"description":"The horizontal centre of the slot as a percentage of the image width."},"centerY":{"type":"number","readOnly":true,"description":"The vertical centre of the slot as a percentage of the image height."},"groupKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true,"description":"The key of the option group this belongs to. Only present when the question splits its options into groups."}}}},"options":{"type":"array","readOnly":true,"description":"The answers a candidate chooses from, in the order this candidate sees them.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text or rich text HTML, as set by the answer format of the question."},"groupKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true,"description":"The key of the option group this belongs to. Only present when the question splits its options into groups."}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"description":"The answer placed in each filled slot. A slot that is left out is empty. Null clears every answer.","items":{"type":"object","additionalProperties":false,"required":["slotKey","optionKey"],"properties":{"slotKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"optionKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}}}},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The accepted answers for each slot, one entry per accepted answer. Only present once the answers can be revealed.","items":{"type":"object","additionalProperties":false,"required":["slotKey","optionKey"],"properties":{"slotKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"optionKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}},"readOnly":true}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"backgroundImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerImageLabellingDropDownResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerImageLabellingDropDownResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerImageLabellingDropDownResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"fieldWidth":{"type":"number","readOnly":true,"nullable":true,"description":"The width of every field as a percentage of the image width. Null means each field fits its longest choice."},"fieldHeight":{"type":"number","readOnly":true,"nullable":true,"description":"The height of every field as a percentage of the image height. Null means each field fits its content."},"backgroundAltText":{"type":"string","readOnly":true,"nullable":true},"slots":{"type":"array","readOnly":true,"description":"The fields, in the order the author set.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"centerX":{"type":"number","readOnly":true,"description":"The horizontal centre of the field as a percentage of the image width."},"centerY":{"type":"number","readOnly":true,"description":"The vertical centre of the field as a percentage of the image height."},"choices":{"type":"array","readOnly":true,"description":"The choices of this field, in the order this candidate sees them.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text."}}}}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"maxItems":30,"description":"The choice made in each answered field. A field that is left out is unanswered. Null clears every answer.","items":{"type":"object","additionalProperties":false,"required":["slotKey","choiceKey"],"properties":{"slotKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"choiceKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}}}},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The correct choice of each field. Only present once the answers can be revealed.","items":{"type":"object","additionalProperties":false,"required":["slotKey","choiceKey"],"properties":{"slotKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"choiceKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}},"readOnly":true}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"backgroundImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerImageLabellingTextResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerImageLabellingTextResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerImageLabellingTextResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"fieldWidth":{"type":"number","readOnly":true,"nullable":true,"description":"The width of every field as a percentage of the image width. Null means each field fits its longest accepted answer."},"fieldHeight":{"type":"number","readOnly":true,"nullable":true,"description":"The height of every field as a percentage of the image height. Null means each field fits its content."},"caseSensitive":{"type":"boolean","readOnly":true},"disableSpellcheck":{"type":"boolean","readOnly":true},"backgroundAltText":{"type":"string","readOnly":true,"nullable":true},"slots":{"type":"array","readOnly":true,"description":"The fields, in the order the author set.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"centerX":{"type":"number","readOnly":true,"description":"The horizontal centre of the field as a percentage of the image width."},"centerY":{"type":"number","readOnly":true,"description":"The vertical centre of the field as a percentage of the image height."}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"maxItems":30,"description":"The text typed into each answered field. A field that is left out is unanswered. Null clears every answer.","items":{"type":"object","additionalProperties":false,"required":["slotKey","text"],"properties":{"slotKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"text":{"type":"string","maxLength":200,"description":"The text typed into the field. Blank text counts as unanswered."}}}},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The accepted answers of each field. Only present once the answers can be revealed.","items":{"type":"object","readOnly":true,"properties":{"slotKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"acceptedAnswers":{"type":"array","readOnly":true,"items":{"type":"string","readOnly":true}}}}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"backgroundImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerInformationalResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerInformationalResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerInformationalResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerLikertResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerLikertResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerLikertResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"options":{"type":"array","readOnly":true,"description":"The points of the scale as they were when the attempt was created, in scale order. A point value is its position in this list, starting at 1.","items":{"type":"object","readOnly":true,"properties":{"content":{"type":"string","readOnly":true,"description":"The plain text label of the point."}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"maxItems":1,"description":"The point the candidate chose, as its 1-based position in the scale. At most one. Null clears the answer. A Likert response is never marked: its outcome is always excluded.","items":{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"integer","minimum":1,"maximum":10}}}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerMatchingResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerMatchingResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerMatchingResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"promptFormat":{"type":"string","readOnly":true,"enum":["plainText","richText"]},"optionFormat":{"type":"string","readOnly":true,"enum":["plainText","richText"]},"allowOptionReuse":{"type":"boolean","readOnly":true},"prompts":{"type":"array","readOnly":true,"description":"The prompts, in the order this candidate sees them.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text or rich text HTML, as set by the matching format of its list."}}}},"options":{"type":"array","readOnly":true,"description":"The options, in the order this candidate sees them.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"Plain text or rich text HTML, as set by the matching format of its list."}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"description":"The option chosen for each answered prompt. A prompt that is left out is unanswered. Null clears every answer.","items":{"type":"object","additionalProperties":false,"required":["promptKey","optionKey"],"properties":{"promptKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"optionKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}}}},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The correct option for each prompt. Only present once the answers can be revealed.","items":{"type":"object","additionalProperties":false,"required":["promptKey","optionKey"],"properties":{"promptKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"},"optionKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}},"readOnly":true}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerMultipleChoiceResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerMultipleChoiceResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerMultipleChoiceResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"multiCorrectLimitType":{"type":"string","enum":["any","exact","max"],"readOnly":true},"multiCorrectLimit":{"type":"number","readOnly":true,"nullable":true},"answers":{"type":"array","items":{"type":"object","readOnly":false},"readOnly":false,"nullable":true},"availableAnswers":{"type":"array","items":{"type":"object","readOnly":true},"readOnly":true},"correctAnswers":{"type":"array","items":{"type":"object","readOnly":true},"readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerNumericAnswerResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerNumericAnswerResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerNumericAnswerResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"prefix":{"type":"string","readOnly":true,"maxLength":20,"description":"Plain text shown before the answer box. Display only: it is not part of the answer."},"suffix":{"type":"string","readOnly":true,"maxLength":20,"description":"Plain text shown after the answer box. Display only: it is not part of the answer."},"precisionMode":{"type":"string","readOnly":true,"enum":["none","exactDecimalPlaces","maxDecimalPlaces"],"description":"The format requirement the candidate was given: none, exactly decimalPlaces or at most decimalPlaces digits after the decimal point. The entry is never rounded."},"decimalPlaces":{"type":"integer","readOnly":true,"minimum":0,"maximum":10,"description":"The decimal places used by precisionMode. Absent when precisionMode is none."},"answers":{"type":"array","readOnly":false,"nullable":true,"maxItems":1,"description":"The number the candidate entered. At most one element. Null or an empty list clears the answer: a blank is never zero.","items":{"type":"object","additionalProperties":false,"required":["entry"],"properties":{"entry":{"type":"string","description":"A plain decimal number written as a string, for example \"42\", \"-0.5\" or \"12.50\": no plus sign, grouping commas, exponent, spaces, or a decimal point without digits on either side. At most 30 characters, not counting a leading minus. Trailing zeros are kept as sent."}}}},"formatValid":{"type":"boolean","readOnly":true,"nullable":true,"description":"Whether the entry met the format requirement, decided when the response was marked. A value that matches a rule but fails the format scores zero. Null when nothing was entered or the answers cannot be revealed yet; always true when there is no format requirement. Only present once the answers can be revealed."},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The accepted answers, one row per rule. Only present once the answers can be revealed.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","readOnly":true},"matchType":{"type":"string","readOnly":true,"enum":["exact","range"]},"exact":{"type":"string","readOnly":true,"pattern":"^-?(0|[1-9]\\d*)(\\.\\d+)?$","description":"The accepted value of an exact rule."},"minimum":{"type":"string","readOnly":true,"pattern":"^-?(0|[1-9]\\d*)(\\.\\d+)?$","description":"The lowest accepted value, inclusive."},"maximum":{"type":"string","readOnly":true,"pattern":"^-?(0|[1-9]\\d*)(\\.\\d+)?$","description":"The highest accepted value, inclusive."},"toleranceType":{"type":"string","readOnly":true,"enum":["absolute","percentage"]},"tolerance":{"type":"string","readOnly":true,"pattern":"^-?(0|[1-9]\\d*)(\\.\\d+)?$","description":"How far from exact an exact rule still accepts, inclusive. Only with toleranceType."},"credit":{"type":"number","readOnly":true,"description":"Only present when the question scores by choice."},"feedback":{"type":"string","readOnly":true,"description":"Rich text feedback of the rule, when it has any."}}}},"awardedRule":{"type":"object","readOnly":true,"nullable":true,"description":"The rule that was awarded: the accepted rule with the highest credit. Null when no rule accepted the entry or nothing was entered. Only present once the answers can be revealed.","properties":{"key":{"type":"string","readOnly":true},"matchType":{"type":"string","readOnly":true,"enum":["exact","range"]},"credit":{"type":"number","readOnly":true},"feedback":{"type":"string","readOnly":true,"description":"Rich text feedback of the awarded rule."}}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerOffPlatformResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerOffPlatformResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerOffPlatformResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"offPlatformHideFromPlayer":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerRankedResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerRankedResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerRankedResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"answers":{"type":"array","items":{"type":"object","readOnly":false},"readOnly":false,"nullable":true},"availableAnswers":{"type":"array","items":{"type":"object","readOnly":true},"readOnly":true},"correctAnswers":{"type":"array","items":{"type":"object","readOnly":true},"readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerSection object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerSection":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["completed","inProgress","instructionsComplete","instructionsInProgress","locked","open","outroInProgress","outroComplete"]},"doi":{"type":"string","readOnly":true},"position":{"type":"number","readOnly":true},"title":{"type":"string","readOnly":true},"questionsCompleted":{"type":"number","readOnly":true},"questionsSkipped":{"type":"number","readOnly":true},"timeStarted":{"type":"string","readOnly":true},"timeCompleted":{"type":"string","readOnly":true},"timeSpent":{"type":"number","readOnly":true},"timerDuration":{"type":"number","readOnly":true},"timerEnforced":{"type":"boolean","readOnly":true},"timerHidden":{"type":"boolean","readOnly":true},"instructionsTitle":{"type":"string","readOnly":true},"instructionsBody":{"type":"string","readOnly":true},"instructionsTimerDuration":{"type":"number","readOnly":true},"instructionsTimerHidden":{"type":"boolean","readOnly":true},"instructionsEnforcedTimer":{"type":"string","enum":["afterAudioStarts","immediately"],"readOnly":true},"instructionsTimeStarted":{"type":"string","readOnly":true},"instructionsTimeCompleted":{"type":"string","readOnly":true},"instructionsTimeSpentMs":{"type":"number","readOnly":true},"outroTitle":{"type":"string","readOnly":true},"outroBody":{"type":"string","readOnly":true},"outroTimerDuration":{"type":"number","readOnly":true},"outroTimerHidden":{"type":"boolean","readOnly":true},"outroEnforcedTimer":{"type":"string","enum":["afterAudioStarts","immediately"],"readOnly":true},"outroTimeStarted":{"type":"string","readOnly":true},"outroTimeCompleted":{"type":"string","readOnly":true},"outroTimeSpentMs":{"type":"number","readOnly":true},"instructionsAudioAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"instructionsAudioAutoAdvanceDelay":{"type":"number","readOnly":true},"instructionsAudioAutoPlay":{"type":"boolean","readOnly":true},"instructionsAudioControlsDisabled":{"type":"boolean","readOnly":true},"outroAudioAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"outroAudioAutoAdvanceDelay":{"type":"number","readOnly":true},"outroAudioAutoPlay":{"type":"boolean","readOnly":true},"outroAudioControlsDisabled":{"type":"boolean","readOnly":true},"disableNavigation":{"type":"boolean","readOnly":true,"nullable":true},"disableControlPanel":{"type":"boolean","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"responses":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["PlayerAudioResponse","PlayerClozeDragAndDropResponse","PlayerClozeDropDownResponse","PlayerClozeTextResponse","PlayerFileUploadResponse","PlayerFreeTextResponse","PlayerInformationalResponse","PlayerMultipleChoiceResponse","PlayerRankedResponse","PlayerSingleChoiceResponse","PlayerShortAnswerResponse","PlayerSpreadsheetResponse","PlayerImageHotspotResponse","PlayerVideoResponse","PlayerOffPlatformResponse","PlayerFlashcardResponse","PlayerTrueOrFalseResponse","PlayerDrawingResponse","PlayerMatchingResponse","PlayerImageLabellingDragAndDropResponse","PlayerImageLabellingDropDownResponse","PlayerImageLabellingTextResponse","PlayerClassificationResponse","PlayerChoiceMatrixResponse","PlayerTextSelectionResponse","PlayerCodingResponse","PlayerBowTieResponse","PlayerLikertResponse","PlayerNumericAnswerResponse"]}]}}}}}},"instructionsAudioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"outroAudioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerShortAnswerResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerShortAnswerResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerShortAnswerResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"answer":{"type":"string","readOnly":false},"caseMatch":{"type":"boolean","readOnly":true},"disableSpellcheck":{"type":"number","readOnly":true},"correctAnswers":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"credits":{"type":"number"}}},"nullable":true,"readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerSingleChoiceResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerSingleChoiceResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSingleChoiceResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"answer":{"type":"object","readOnly":false,"nullable":true},"availableAnswers":{"type":"array","items":{"type":"object","readOnly":true},"readOnly":true,"nullable":true},"correctAnswer":{"type":"object","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerSpreadsheetResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerSpreadsheetResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSpreadsheetResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"label":{"type":"string","readOnly":true},"answer":{"type":"string","readOnly":false},"answerTemplate":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerTextSelectionResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerTextSelectionResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerTextSelectionResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"template":{"type":"string","readOnly":true,"description":"The passage as sanitised HTML. Each selectable region is a span with a data-text-selection-region attribute holding its key. The passage never says which regions are correct."},"selectionLimitType":{"type":"string","readOnly":true,"enum":["any","max","exact"],"description":"any: no limit on the number of regions selected. max: up to selectionLimit regions. exact: selectionLimit regions are expected."},"selectionLimit":{"type":"integer","readOnly":true,"nullable":true,"description":"The number of regions the candidate can select: the number of correct regions, derived when the attempt is generated. Null when selectionLimitType is any."},"regions":{"type":"array","readOnly":true,"description":"The regions in the order they appear in the passage.","items":{"type":"object","readOnly":true,"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":true},"content":{"type":"string","readOnly":true,"description":"The plain text of the region."}}}},"answers":{"type":"array","readOnly":false,"nullable":true,"maxItems":100,"description":"The regions selected, without repeats. Every key must be a region of the question and the list cannot be longer than selectionLimit when selectionLimitType is max or exact. An empty list or null clears every selection.","items":{"type":"object","additionalProperties":false,"required":["regionKey"],"properties":{"regionKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}}}},"correctAnswers":{"type":"array","readOnly":true,"nullable":true,"description":"The correct regions. Only present once the answers can be revealed.","items":{"type":"object","additionalProperties":false,"required":["regionKey"],"properties":{"regionKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$"}},"readOnly":true}}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerTrueOrFalseResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerTrueOrFalseResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerTrueOrFalseResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"answer":{"type":"boolean","nullable":true,"readOnly":false},"correctAnswer":{"type":"boolean","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PlayerVideoResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PlayerVideoResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerVideoResponse"]},"attributes":{"type":"object","properties":{"status":{"type":"string","enum":["unanswered","answered","submitted","locked"],"readOnly":false,"nullable":true},"activeDurationMs":{"type":"integer","minimum":0,"readOnly":true,"description":"Cumulative active milliseconds on this question, for seeding the player ledger on resume."},"resultStatus":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure"],"readOnly":true,"nullable":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"questionReferenceId":{"type":"string","readOnly":true},"questionReferenceDoi":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true,"nullable":true},"leadIn":{"type":"string","readOnly":true,"nullable":true},"stem":{"type":"string","readOnly":true,"nullable":true},"timerDurationMs":{"type":"number","readOnly":true,"nullable":true},"hideStemImage":{"type":"boolean","readOnly":true},"layout":{"type":"string","enum":["swimLane","topDown","default"],"readOnly":true},"scoreByChoice":{"type":"boolean","readOnly":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":true,"nullable":true},"mediaStemPlaybackCount":{"type":"number","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":true},"audioStemAutoPlay":{"type":"boolean","readOnly":true},"audioStemDisableProgression":{"type":"boolean","readOnly":true},"audioStemHideOptions":{"type":"boolean","readOnly":true},"audioStemAutoAdvance":{"type":"string","enum":["afterDefinedTime","disabled","immediately"],"readOnly":true},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","readOnly":true},"audioStemAutoAdvanceDelay":{"type":"number","readOnly":true},"audioStemDisableControls":{"type":"boolean","readOnly":true},"hideStemDuration":{"type":"number","readOnly":true,"nullable":true},"feedback":{"type":"string","readOnly":true,"nullable":true},"candidateFeedback":{"type":"string","readOnly":true,"nullable":false},"markerFeedback":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","role","feedback"],"properties":{"id":{"type":"string"},"role":{"type":"string","enum":["provisional","moderating","backReading","escalation","auditing","system","viewer"]},"feedback":{"type":"string"}}}},"hideFromQuizResults":{"type":"boolean","readOnly":true},"credit":{"type":"number","readOnly":true,"nullable":false},"penalty":{"type":"number","readOnly":true,"nullable":false},"maxPoints":{"type":"number","readOnly":true,"nullable":false},"points":{"type":"number","readOnly":true,"nullable":false},"markingOutcome":{"type":"string","enum":["correct","excluded","incorrect","partial","pending","skipped","unsure","marked"],"readOnly":true,"nullable":false},"markSchemeCriteria":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"maxCredits":{"type":"number"},"credit":{"type":"number"}}},"nullable":true,"readOnly":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":true},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":true},"label":{"type":"string","readOnly":true},"allowDelete":{"type":"boolean","readOnly":true},"allowPause":{"type":"boolean","readOnly":true},"allowRerecord":{"type":"boolean","readOnly":true},"maximumRecordingTimeInMs":{"type":"number","maximum":3600000,"readOnly":true},"autoRecording":{"type":"boolean","readOnly":true},"autoRecordingAllowEarlySubmission":{"type":"boolean","readOnly":true},"autoRecordingDelayMs":{"type":"number","maximum":3600000,"readOnly":true},"autoAdvance":{"type":"string","enum":["disabled","afterDefinedTime","afterAudioCompletion"],"readOnly":true},"autoAdvanceDelayMs":{"type":"number","maximum":3600000,"readOnly":true}}},"relationships":{"type":"object","properties":{"feedbackImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PlayerEmqGroup"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"answer":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The Portal object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Portal":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"subdomain":{"type":"string","readOnly":true},"hostname":{"type":"string","readOnly":true},"subPortalDomain":{"type":"string","readOnly":false,"nullable":true,"maxLength":253,"description":"Optional suffix for sub-portal hostnames (slug.suffix). When unset, sub-portals use the portal hostname as the suffix."},"entitlements":{"type":"object","readOnly":true,"properties":{"branding":{"type":"boolean"},"doubleBlindMarking":{"type":"boolean"},"marking":{"type":"string","enum":["basic","standard","advanced"]},"textVariables":{"type":"boolean"},"integration":{"type":"boolean"},"userGroupAdvanced":{"type":"boolean"},"sso":{"type":"boolean"},"whiteLabeling":{"type":"boolean"},"mobileApp":{"type":"boolean"},"recordOfLearning":{"type":"boolean"},"subPortal":{"type":"boolean"},"zapier":{"type":"boolean"},"tagSets":{"type":"boolean"},"webhooks":{"type":"boolean"},"permissions":{"type":"string","enum":["basic","advanced"]},"synoptic":{"type":"string","enum":["lockdown","full"]},"personalAccessToken":{"type":"boolean"},"customAttributes":{"type":"number"},"advancedGrading":{"type":"boolean"},"examVoucher":{"type":"boolean"},"codeLogin":{"type":"boolean"},"examTemplates":{"type":"boolean"},"automations":{"type":"boolean"}}},"isActive":{"type":"boolean","readOnly":true},"headerIcon":{"type":"object","readOnly":false,"nullable":true,"properties":{"__type":{"type":"string","enum":["File"]},"name":{"type":"string"},"url":{"type":"string"}}},"favicon":{"type":"object","readOnly":false,"nullable":true,"properties":{"__type":{"type":"string","enum":["File"]},"name":{"type":"string"},"url":{"type":"string"}}},"squareIcon":{"type":"object","readOnly":false,"nullable":true,"properties":{"__type":{"type":"string","enum":["File"]},"name":{"type":"string"},"url":{"type":"string"}}},"extraInformation":{"type":"object","deprecated":true,"readOnly":false,"additionalProperties":true},"emailSettings":{"type":"object","deprecated":true,"readOnly":false,"properties":{"fromEmail":{"type":"string","format":"email"},"fromName":{"type":"string"},"marketingEmailsConsent":{"type":"object","properties":{"enabled":{"type":"boolean"},"requireEmailConfirmation":{"type":"boolean"},"defaultAgree":{"type":"boolean"},"customLabel":{"type":"string"}}},"isDisabled":{"type":"boolean"},"welcomeEmail":{"type":"object","properties":{"subject":{"type":"string","maxLength":100,"nullable":true},"body":{"type":"string","maxLength":5000,"nullable":true}}},"header":{"type":"object","properties":{"logoUrl":{"type":"string","format":"uri","nullable":true,"maxLength":500}}},"maxPerWeek":{"type":"integer","minimum":0},"address":{"type":"string"}}},"externalApi":{"type":"object","deprecated":true,"readOnly":false,"properties":{"intercom":{"type":"object","properties":{"idvKey":{"type":"string","maxLength":1000,"writeOnly":true}}},"segment":{"type":"object","properties":{"apiKey":{"type":"string"},"webKey":{"type":"string"},"trackMiniEvents":{"type":"boolean"},"ingestionRegion":{"type":"string","enum":["us_oregon","eu_dublin"]},"cookieConsentEnabled":{"type":"boolean"}}},"googleAnalytics":{"type":"object","properties":{"webKey":{"type":"string"}}}}},"hostnameWhitelist":{"type":"array","readOnly":false,"maxItems":50,"items":{"type":"string","maxLength":100}},"registrationSettings":{"type":"object","deprecated":true,"readOnly":false,"properties":{"pageTitle":{"type":"string","maxLength":200},"pageDescription":{"type":"string","minLength":0,"maxLength":2000},"registerMethod":{"type":"string","enum":["open","closed"]},"collectAttrs":{"type":"array","nullable":true,"items":{"type":"string","maxLength":20},"maxItems":10},"selectUserGroup":{"type":"object","properties":{"label":{"type":"string"},"options":{"type":"array","maxItems":20,"items":{"type":"string","minLength":1,"maxLength":20}}}},"emailVerification":{"type":"boolean"},"headerBackgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{3,6}$"},"headerBorderBottomColor":{"type":"string","pattern":"^#[0-9a-fA-F]{3,6}$"},"backgroundImageUrl":{"type":"string","format":"uri","maxLength":300},"domainWhitelist":{"type":"array","maxItems":200,"items":{"type":"string","maxLength":60}},"localeConfig":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"externalAuth":{"type":"object","properties":{"isEnabled":{"type":"boolean"},"label":{"type":"string"}}}}},"affiliation":{"type":"object","deprecated":true,"readOnly":false,"properties":{"twitter":{"type":"object","properties":{"url":{"type":"string","nullable":true}}},"facebook":{"type":"object","properties":{"url":{"type":"string","nullable":true}}},"linkedIn":{"type":"object","properties":{"url":{"type":"string","nullable":true}}},"youtube":{"type":"object","properties":{"url":{"type":"string","nullable":true}}}}},"webMetaInfo":{"type":"object","deprecated":true,"readOnly":false,"properties":{"site":{"type":"object","properties":{"siteName":{"type":"string","nullable":true,"maxLength":100},"description":{"type":"string","nullable":true,"maxLength":300},"imageUrl":{"type":"string","format":"uri","nullable":true}}}}},"styleConfig":{"type":"object","deprecated":true,"readOnly":false,"properties":{"brand":{"type":"object","properties":{"primary":{"type":"string"},"secondary":{"type":"string"}}},"font":{"type":"object","properties":{"color":{"type":"object","properties":{"link":{"type":"string"}}}}},"button":{"type":"object","properties":{"color":{"type":"object","properties":{"primary":{"type":"string"},"secondary":{"type":"string"}}},"text":{"type":"object","properties":{"primary":{"type":"string"},"secondary":{"type":"string"}}}}},"chart":{"type":"object","properties":{"color":{"type":"object","properties":{"primary":{"type":"string"}}}}},"navigationBar":{"type":"object","properties":{"background":{"type":"string"},"border":{"type":"string"}}},"ui":{"type":"object","properties":{"defaultCardImageUrl":{"type":"string","format":"uri","nullable":true}}}}},"notificationConfig":{"type":"object","readOnly":false,"properties":{"enabled":{"type":"boolean"},"groups":{"type":"object","additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"config":{"type":"object","additionalProperties":{"type":"boolean"}},"overrides":{"type":"array","items":{"type":"object","properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"config":{"type":"object","additionalProperties":{"type":"boolean"}}},"required":["enabled","id"]}}}}}}},"legalLinks":{"type":"object","deprecated":true,"readOnly":false,"properties":{"terms":{"type":"object","required":["hidden"],"properties":{"hidden":{"type":"boolean"},"url":{"type":"string","format":"uri","nullable":true},"noteId":{"type":"string","nullable":true}}},"privacy":{"type":"object","required":["hidden"],"properties":{"hidden":{"type":"boolean"},"url":{"type":"string","format":"uri","nullable":true},"noteId":{"type":"string","nullable":true}}}}},"generalSettings":{"type":"object","readOnly":false,"properties":{"availableExternalPlayers":{"type":"array","items":{"type":"string","enum":["default","ucat","usmle"]}},"defaultExternalPlayer":{"type":"object","properties":{"type":{"type":"string","enum":["default","ucat","usmle"]}}},"defaultFontSize":{"type":"string","enum":["xSmall","small","medium","large","xLarge"],"deprecated":true,"description":"Use generalSettingsDefaultFontSize instead"},"customGlossary":{"type":"object","properties":{"quizModePractice":{"type":"string","enum":["practice","tutor"],"nullable":true},"tagSetNoTagSet":{"type":"string","nullable":true}}},"mobileApp":{"type":"object","properties":{"appStoreLinks":{"type":"object","properties":{"android":{"type":"string"},"ios":{"type":"string"}}},"name":{"type":"string"},"image":{"type":"string"}}},"study":{"type":"object","deprecated":true,"properties":{"allowedFacets":{"type":"array","deprecated":true,"items":{"type":"string","enum":["subject","topic","subtopic","difficulty","skill","context"]}},"takeTest":{"type":"object","properties":{"ignoreSkippedResponses":{"type":"boolean"},"reviewAndSubmitEnabled":{"type":"boolean"},"saveAndResumeEnabled":{"type":"boolean"},"flagging":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"calculator":{"type":"object","properties":{"enabled":{"type":"boolean"},"type":{"type":"string","enum":["basic","scientific"]}}},"notepad":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"strikethrough":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"highlighting":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"bookmarking":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"labValues":{"type":"object","properties":{"enabled":{"type":"boolean"},"html":{"type":"string","nullable":true}}},"tagSelectionDisplayMode":{"type":"string","enum":["dropdown","toggle"]},"allowMultipleTagSelection":{"type":"boolean"},"excludeUntaggedQuestions":{"type":"boolean"}},"deprecated":true},"studyControls":{"type":"boolean","deprecated":true}}},"style":{"type":"object","properties":{"availableQuizThemes":{"type":"array","items":{"type":"string","enum":["default","ucat"]}}}},"takeTest":{"type":"object","properties":{"ignoreSkippedResponses":{"type":"boolean"},"reviewAndSubmitEnabled":{"type":"boolean"},"saveAndResumeEnabled":{"type":"boolean"},"flagging":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"calculator":{"type":"object","properties":{"enabled":{"type":"boolean"},"type":{"type":"string","enum":["basic","scientific"]}}},"notepad":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"strikethrough":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"highlighting":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"bookmarking":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"labValues":{"type":"object","properties":{"enabled":{"type":"boolean"},"html":{"type":"string","nullable":true}}},"tagSelectionDisplayMode":{"type":"string","enum":["dropdown","toggle"]},"allowMultipleTagSelection":{"type":"boolean"},"excludeUntaggedQuestions":{"type":"boolean"}},"deprecated":true},"userAccountManagement":{"type":"object","deprecated":true,"description":"Use generalSettingsUserAccountManagement(fields) instead","properties":{"preventUserAccountDeletion":{"type":"boolean"},"preventUserEmailEditing":{"type":"boolean"},"preventUserNameEditing":{"type":"boolean"}}},"logoutUrl":{"type":"string","format":"uri","nullable":true,"deprecated":true,"description":"Use generalSettingsLogoutUrl instead"}}},"localeConfig":{"type":"object","deprecated":true,"readOnly":false,"properties":{"defaultLocale":{"type":"string"},"defaultTimezone":{"type":"string"},"userPreferences":{"type":"object","properties":{"enabled":{"type":"boolean"}}}}},"homepage":{"type":"string","readOnly":false},"affiliationFacebookUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"affiliationLinkedInUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"affiliationTwitterUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"affiliationYoutubeUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"emailSettingsFromName":{"type":"string","nullable":true,"readOnly":false},"emailSettingsFromEmail":{"type":"string","format":"email","nullable":true,"readOnly":false},"emailSettingsFooterText":{"type":"string","nullable":true,"readOnly":false},"emailSettingsHeaderLogoUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"emailSettingsWelcomeEmailEnabled":{"type":"boolean","readOnly":false},"emailSettingsWelcomeEmailSubject":{"type":"string","nullable":true,"readOnly":false},"emailSettingsWelcomeEmailBody":{"type":"string","nullable":true,"readOnly":false},"emailSettingsMarketingEmailsConsentEnabled":{"type":"boolean","readOnly":false},"emailSettingsMarketingEmailsConsentDefaultAgree":{"type":"boolean","readOnly":false},"emailSettingsMarketingEmailsConsentCustomLabel":{"type":"string","nullable":true,"readOnly":false},"emailSettingsMarketingEmailsConsentRequireEmailConfirmation":{"type":"boolean","readOnly":false},"externalApiGoogleAnalyticsWebKey":{"type":"string","nullable":true,"readOnly":false},"externalApiIntercomIdvKey":{"type":"string","nullable":true,"writeOnly":true},"externalApiIntercomIdvKeyIsSet":{"type":"boolean","readOnly":true},"externalApiSegmentApiKey":{"type":"string","nullable":true,"readOnly":false},"externalApiSegmentCookieConsentEnabled":{"type":"boolean","readOnly":false},"externalApiSegmentIngestionRegion":{"type":"string","enum":["us_oregon","eu_dublin"],"nullable":true,"readOnly":false},"externalApiSegmentTrackMiniEvents":{"type":"boolean","readOnly":false},"extraInformationDisplayMobileAppLink":{"type":"boolean","readOnly":false},"extraInformationHideFooter":{"type":"boolean","readOnly":false},"generalSettingsDefaultFontSize":{"type":"string","enum":["xSmall","small","medium","large","xLarge"],"nullable":true,"readOnly":false},"generalSettingsLogoutUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"generalSettingsUserAccountManagementPreventUserAccountDeletion":{"type":"boolean","readOnly":false},"generalSettingsUserAccountManagementPreventUserEmailEditing":{"type":"boolean","readOnly":false},"generalSettingsUserAccountManagementPreventUserNameEditing":{"type":"boolean","readOnly":false},"generalSettingsSubPortalSimplifiedExamManagement":{"type":"boolean","readOnly":false},"generalSettingsStudyAllowedFacets":{"type":"array","nullable":true,"items":{"type":"string","enum":["subject","topic","subtopic","difficulty","skill","context"]}},"legalLinksPrivacyHidden":{"type":"boolean"},"legalLinksPrivacyNoteId":{"type":"string","nullable":true,"readOnly":false},"legalLinksPrivacyUrl":{"type":"string","nullable":true,"readOnly":false},"legalLinksTermsHidden":{"type":"boolean"},"legalLinksTermsNoteId":{"type":"string","nullable":true,"readOnly":false},"legalLinksTermsUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"localeConfigDefaultLocale":{"type":"string","readOnly":false,"nullable":true},"localeConfigDefaultTimezone":{"type":"string","readOnly":false,"nullable":true},"localeConfigUserPreferencesEnabled":{"type":"boolean","readOnly":false},"localeConfigCustomGlossaryQuizModePractice":{"type":"string","nullable":true,"readOnly":false},"localeConfigCustomGlossaryTagSetNoTagSet":{"type":"string","nullable":true,"readOnly":false},"localeConfigCustomGlossaryExternalId":{"type":"string","nullable":true,"readOnly":false,"description":"What this portal calls a user's external ID (e.g. ULN, SID), shown wherever the field appears."},"mobileAppAndroidStoreLink":{"type":"string","format":"uri","nullable":true,"readOnly":false},"mobileAppIosStoreLink":{"type":"string","format":"uri","nullable":true,"readOnly":false},"mobileAppName":{"type":"string","nullable":true,"readOnly":false},"mobileAppImageUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"mobileAppDisplayLink":{"type":"boolean","readOnly":false},"registrationSettingsLocaleConfigEnabled":{"type":"boolean","readOnly":false},"registrationSettingsExamVoucherLoginEnabled":{"type":"boolean","readOnly":false},"registrationSettingsRegisterMethod":{"type":"string","enum":["open","closed"]},"registrationSettingsLoginLayout":{"type":"string","enum":["legacy","stacked","stacked-wide","split",null],"nullable":true},"registrationSettingsDomainWhitelist":{"type":"array","maxItems":200,"items":{"type":"string","maxLength":60}},"registrationSettingsPageTitle":{"type":"string","maxLength":200},"registrationSettingsPageDescription":{"type":"string","minLength":0,"maxLength":2000,"nullable":true},"registrationSettingsBackgroundImageUrl":{"type":"string","format":"uri","maxLength":300,"nullable":true},"registrationSettingsHeaderBackgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{3,6}$","nullable":true},"registrationSettingsHeaderBorderBottomColor":{"type":"string","pattern":"^#[0-9a-fA-F]{3,6}$","nullable":true},"registrationSettingsSelectUserGroup":{"type":"object","nullable":true,"properties":{"label":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}},"securitySettingsMfaEnforcementAdmins":{"type":"boolean","readOnly":false},"securitySettingsMfaEnforcementModerators":{"type":"boolean","readOnly":false},"securitySettingsMfaEnforcementStudents":{"type":"boolean","readOnly":false},"securitySettingsPasskeysEnabled":{"type":"boolean","readOnly":false},"styleConfigBrandPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"styleConfigBrandSecondary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"styleConfigButtonColorPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"styleConfigButtonColorSecondary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"styleConfigChartColorPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"styleConfigFontColorLink":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"styleConfigUiDefaultCardImageUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"studyConfigAllowedFacets":{"type":"array","nullable":true,"items":{"type":"string","enum":["subject","topic","subtopic","difficulty","skill","context"]}},"studyConfigAvailableExternalPlayers":{"type":"array","nullable":true,"items":{"type":"string","enum":["default","ucat","usmle"]}},"studyConfigAvailableQuizThemes":{"type":"array","nullable":true,"items":{"type":"string","enum":["default","ucat"]}},"studyConfigDefaultExternalPlayer":{"type":"string","nullable":true,"enum":["default","ucat","usmle"]},"studyConfigStudyControls":{"type":"boolean","readOnly":false},"studyConfigIgnoreSkippedResponses":{"type":"boolean","readOnly":false},"studyConfigTakeTest":{"type":"object","properties":{"ignoreSkippedResponses":{"type":"boolean"},"reviewAndSubmitEnabled":{"type":"boolean"},"saveAndResumeEnabled":{"type":"boolean"},"flagging":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"calculator":{"type":"object","properties":{"enabled":{"type":"boolean"},"type":{"type":"string","enum":["basic","scientific"]}}},"notepad":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"strikethrough":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"highlighting":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"bookmarking":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"labValues":{"type":"object","properties":{"enabled":{"type":"boolean"},"html":{"type":"string","nullable":true}}},"tagSelectionDisplayMode":{"type":"string","enum":["dropdown","toggle"]},"allowMultipleTagSelection":{"type":"boolean"},"excludeUntaggedQuestions":{"type":"boolean"}}},"studyConfigSelfPracticeTakeTest":{"type":"object","properties":{"ignoreSkippedResponses":{"type":"boolean"},"reviewAndSubmitEnabled":{"type":"boolean"},"saveAndResumeEnabled":{"type":"boolean"},"flagging":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"calculator":{"type":"object","properties":{"enabled":{"type":"boolean"},"type":{"type":"string","enum":["basic","scientific"]}}},"notepad":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"strikethrough":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"highlighting":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"bookmarking":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"labValues":{"type":"object","properties":{"enabled":{"type":"boolean"},"html":{"type":"string","nullable":true}}},"tagSelectionDisplayMode":{"type":"string","enum":["dropdown","toggle"]},"allowMultipleTagSelection":{"type":"boolean"},"excludeUntaggedQuestions":{"type":"boolean"}}},"webMetaInfoDescription":{"type":"string","nullable":true,"maxLength":300,"readOnly":false},"webMetaInfoImageUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"webMetaInfoSiteName":{"type":"string","nullable":true,"maxLength":100,"readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"adminsGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"managersGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"educatorsGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"markersGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"studentsGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"allUsersGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"subscription":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Subscription"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PortalStore object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PortalStore":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PortalStore"]},"attributes":{"type":"object","properties":{"name":{"type":"string","minLength":1,"readOnly":false},"description":{"type":"string","nullable":true,"readOnly":false},"pageControls":{"type":"object","readOnly":false},"requiresAuth":{"type":"boolean","readOnly":false},"headerTitle":{"type":"string","nullable":true,"readOnly":false},"headerSubtitle":{"type":"string","nullable":true,"readOnly":false},"headerImageUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"headerCoverImageUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"headerCoverImageBackground":{"type":"string","nullable":true,"readOnly":false},"headerTextColour":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}$","nullable":true,"readOnly":false}}},"relationships":{"type":"object","properties":{"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PortalUsage object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PortalUsage":{"anyOf":[{"$ref":"#/components/schemas/PAYGPortalUsage"},{"$ref":"#/components/schemas/MAUPortalUsage"}]},"PAYGPortalUsage":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PAYGPortalUsage"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["payg"],"readOnly":true},"creditsAllocated":{"type":"number","readOnly":true},"creditsUsed":{"type":"number","readOnly":true},"creditsRemaining":{"type":"number","readOnly":true},"overage":{"type":"number","readOnly":true},"usageByBillingPeriod":{"type":"array","items":{"type":"object","properties":{"billingPeriodStart":{"type":"string"},"billingPeriodEnd":{"type":"string"},"creditsUsed":{"type":"number"},"examRosalynReview":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"assignment":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examRosalynLockdown":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticLockdown":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examRosalynLive":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticRecorded":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2NoRecordingBase":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2NoRecordingExtra":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2RecreationBase":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2RecreationExtra":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2RecordedBase":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2RecordedExtra":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2AiReviewBase":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examSynopticV2AiReviewExtra":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"study":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}},"examUnproctored":{"type":"object","properties":{"creditsPerItem":{"type":"number"},"instances":{"type":"number"},"creditsUsed":{"type":"number"}}}}},"readOnly":true}}},"relationships":{"type":"object","properties":{"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"MAUPortalUsage":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["MAUPortalUsage"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["mau"],"readOnly":true},"billingPeriodStart":{"type":"string","readOnly":true},"billingPeriodEnd":{"type":"string","readOnly":true},"mauCount":{"type":"number","readOnly":true},"synopticRecordingCount":{"type":"number","readOnly":true},"rosalynLiveCount":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}}}}}}}}}
```

## The PreflightRun object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PreflightRun":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PreflightRun"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["exam_preflight","exam_systems_check"],"description":"What the run is for. exam_preflight leads into the exam and is refused before the entry window opens. exam_systems_check is a practice check a candidate can run at any time before submitting: it never starts the exam and never counts towards admission."},"createdAt":{"type":"string","format":"date-time","readOnly":true},"client":{"type":"object","readOnly":true,"nullable":true,"description":"What the candidate was using when the run began. Only served to reviewers.","properties":{"ipAddress":{"type":"string"},"userAgent":{"type":"string"},"region":{"type":"string"},"webVersion":{"type":"string"},"desktopVersion":{"type":"string"},"extensionVersion":{"type":"string"},"os":{"type":"string"},"browser":{"type":"string"},"timezone":{"type":"string"},"locale":{"type":"string"},"synopticLevel":{"type":"string"},"systemsCheckRunId":{"type":"string"}}},"payloadRedactedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true,"description":"When the personal details of client (IP address, user agent, time zone and locale) were removed. Only served to reviewers."},"authoritative":{"type":"boolean","readOnly":true,"description":"Whether this is the newest preflight of its attempt. Progress updates also return false when another browser or desktop session has resumed the run and replaced the writer."},"writerGeneration":{"type":"integer","minimum":1,"description":"Issued on creation and resume. Progress updates must send the generation issued to that reporter; resuming invalidates earlier generations."},"requestSequence":{"type":"integer","minimum":1,"maximum":9007199254740991,"writeOnly":true,"description":"Increasing request number within the issued writer generation. Older or repeated updates are ignored."},"source":{"type":"string","enum":["browser","desktop"],"writeOnly":true,"description":"Create or resume: whether this reporter is the browser or desktop app."},"progress":{"type":"object","readOnly":true,"nullable":true,"description":"Where the candidate is up to in the preflight journey. Only served to reviewers.","required":["lastSeenAt"],"properties":{"lastSeenAt":{"type":"string","format":"date-time"},"writer":{"type":"object","required":["generation","source","startedAt"],"properties":{"generation":{"type":"integer","minimum":1},"source":{"type":"string","enum":["browser","desktop"]},"startedAt":{"type":"string","format":"date-time"},"environment":{"type":"object","properties":{"webVersion":{"type":"string"},"desktopVersion":{"type":"string"},"extensionVersion":{"type":"string"},"os":{"type":"string"},"browser":{"type":"string"}}}}},"requestSequence":{"type":"integer","minimum":1,"maximum":9007199254740991},"currentStep":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,31}$","description":"The key of a preflight journey step."},"visible":{"type":"boolean","description":"Whether the preflight page was visible when last seen."},"route":{"type":"string","maxLength":128},"completedAt":{"type":"string","format":"date-time"},"plannedSteps":{"type":"array","maxItems":30,"description":"The steps the journey will take the candidate through, in order.","items":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,31}$","description":"The key of a preflight journey step."}},"device":{"type":"object","required":["clientTime","screenWidth","screenHeight","windowWidth","windowHeight","isFullscreen"],"description":"What the candidate's device reported when it last checked in: its clock, screen and window size, whether the page is full screen, and its connection.","properties":{"clientTime":{"type":"string","format":"date-time","description":"The time on the device's own clock."},"pageUrl":{"type":"string","maxLength":300,"description":"The address the candidate is using, without any query string or fragment."},"screenWidth":{"type":"integer","minimum":0,"maximum":32768},"screenHeight":{"type":"integer","minimum":0,"maximum":32768},"windowWidth":{"type":"integer","minimum":0,"maximum":32768},"windowHeight":{"type":"integer","minimum":0,"maximum":32768},"windowX":{"type":"integer","description":"Distance from the left of the screen to the browser window.","minimum":-32768,"maximum":32768},"windowY":{"type":"integer","description":"Distance from the top of the screen to the browser window.","minimum":-32768,"maximum":32768},"isExtendedDisplay":{"type":"boolean","description":"Whether the device has more than one screen, when the browser says."},"mediaDevices":{"type":"array","description":"The cameras and microphones the browser can see.","maxItems":20,"items":{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["audioinput","videoinput"]},"label":{"type":"string","maxLength":120},"selectable":{"type":"boolean","description":"Whether this device appears in the candidate picker after filtering and deduplication."}}}},"screenShare":{"type":"object","description":"The active screen capture track, when available. This does not identify a primary or external display.","required":["active"],"properties":{"active":{"type":"boolean"},"label":{"type":"string","maxLength":120},"surface":{"type":"string","enum":["monitor","window","browser"]},"width":{"type":"integer","minimum":0,"maximum":32768},"height":{"type":"integer","minimum":0,"maximum":32768}}},"pixelRatio":{"type":"number","minimum":0,"maximum":16},"isFullscreen":{"type":"boolean"},"memoryGb":{"type":"number","minimum":0},"cpuCores":{"type":"integer","minimum":0},"architecture":{"type":"string","maxLength":16},"bitness":{"type":"string","maxLength":8},"connection":{"type":"object","description":"What the browser reports about the connection. Not every browser reports it.","properties":{"effectiveType":{"type":"string","enum":["slow-2g","2g","3g","4g"]},"type":{"type":"string","maxLength":16},"downlinkMbps":{"type":"number","minimum":0},"rttMs":{"type":"integer","minimum":0},"saveData":{"type":"boolean"}}}}},"status":{"type":"object","description":"A snapshot of what the candidate page can see right now. It replaces the previous snapshot.","properties":{"stage":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,31}$","description":"Where the candidate is within the current step."},"blockedApps":{"type":"array","maxItems":20,"description":"Names of prohibited apps found running. Only a systems check reports these, and only reviewers see them.","items":{"type":"string","maxLength":60}},"facts":{"type":"object","description":"Things that are true or false right now, such as whether the camera is live.","additionalProperties":{"type":"boolean"}},"checks":{"type":"object","description":"The live readiness of each requirement the journey checks before the exam can start.","additionalProperties":{"type":"string","enum":["ok","attention","blocked"]}}}},"steps":{"type":"object","additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["started","completed","failed","skipped"]},"startedAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time"},"errorCode":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"The key of the error the candidate was shown."}}}},"events":{"type":"array","description":"The most recent milestones, oldest first.","items":{"type":"object","required":["at","type"],"properties":{"at":{"type":"string","format":"date-time"},"writerGeneration":{"type":"integer","minimum":1},"source":{"type":"string","enum":["browser","desktop"]},"type":{"type":"string","enum":["step_started","step_completed","step_failed","step_skipped","journey_completed","restarted","handed_off"]},"step":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,31}$","description":"The key of a preflight journey step."},"errorCode":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"The key of the error the candidate was shown."}}}}}},"network":{"type":"object","readOnly":true,"nullable":true,"description":"How the network checks of this run went, including the results the candidate is not shown. Only served to reviewers.","properties":{"checksStarted":{"type":"integer","minimum":0},"checks":{"type":"array","description":"The most recent checks, oldest first.","items":{"type":"object","required":["id","tier","startedAt"],"properties":{"id":{"type":"string"},"tier":{"type":"string","enum":["basic","audio","video"],"description":"What the exam asks of the candidate’s connection: nothing recorded, audio, or video."},"startedAt":{"type":"string","format":"date-time"},"writerGeneration":{"type":"integer","minimum":1},"completedAt":{"type":"string","format":"date-time"},"metrics":{"type":"object","additionalProperties":false,"required":["durationMs"],"description":"What the candidate’s browser measured. Every part is optional except how long the check took, and a part the browser could not measure is left out.","properties":{"durationMs":{"type":"number","minimum":0,"maximum":600000},"reachability":{"type":"object","additionalProperties":false,"description":"Whether the browser got any answer at all from the exam’s own hosts, which the probes it was handed point at. A part the browser could not test is left out.","properties":{"files":{"type":"boolean","description":"The host exam media is served from."},"storage":{"type":"boolean","description":"The accelerated storage endpoint answers are uploaded to."},"synoptic":{"type":"boolean","description":"The proctoring server answered over a WebSocket. Only for a proctored attempt."},"turn":{"type":"boolean","description":"The video relay handed out a relay candidate. Only for a proctored attempt."}}},"synopticSocket":{"type":"object","additionalProperties":false,"required":["heldMs","closedEarly"],"description":"How the proctoring socket fared once it had answered: the browser holds it open for the rest of the check, so a network that lets a WebSocket open and then cuts it off shows up here. Left out when the socket never answered.","properties":{"heldMs":{"type":"number","minimum":0,"maximum":600000,"description":"How long the socket stayed open before the browser let it go, or before the network closed it."},"closedEarly":{"type":"boolean","description":"The network closed the socket before the browser let it go."},"closeCode":{"type":"integer","minimum":0,"maximum":65535,"description":"The WebSocket close code, when the network closed it."}}},"probes":{"type":"object","additionalProperties":false,"required":["attempts","failures"],"description":"Every small request made during the check: reachability probes, API pings and the latency requests.","properties":{"attempts":{"type":"integer","minimum":0,"maximum":10000},"failures":{"type":"integer","minimum":0,"maximum":10000}}},"api":{"type":"object","additionalProperties":false,"required":["count","failures"],"properties":{"count":{"type":"integer","minimum":0,"maximum":10000},"failures":{"type":"integer","minimum":0,"maximum":10000},"medianMs":{"type":"number","minimum":0,"maximum":600000},"p95Ms":{"type":"number","minimum":0,"maximum":600000}},"description":"Authenticated pings of the API."},"latency":{"type":"object","additionalProperties":false,"description":"Small requests to the download host, while nothing else was moving and while a transfer was.","properties":{"idle":{"type":"object","additionalProperties":false,"required":["count","failures"],"properties":{"count":{"type":"integer","minimum":0,"maximum":10000},"failures":{"type":"integer","minimum":0,"maximum":10000},"medianMs":{"type":"number","minimum":0,"maximum":600000},"p95Ms":{"type":"number","minimum":0,"maximum":600000}}},"loaded":{"type":"object","additionalProperties":false,"required":["count","failures"],"properties":{"count":{"type":"integer","minimum":0,"maximum":10000},"failures":{"type":"integer","minimum":0,"maximum":10000},"medianMs":{"type":"number","minimum":0,"maximum":600000},"p95Ms":{"type":"number","minimum":0,"maximum":600000}}}}},"download":{"type":"object","additionalProperties":false,"required":["bytes","durationMs","failed","aborted"],"properties":{"bytes":{"type":"number","minimum":0,"maximum":1000000000},"durationMs":{"type":"number","minimum":0,"maximum":600000},"throughputMbps":{"type":"number","minimum":0,"maximum":100000},"longestStallMs":{"type":"number","minimum":0,"maximum":600000,"description":"The longest stretch in which no data moved while the transfer was under way."},"failed":{"type":"boolean","description":"The request errored."},"aborted":{"type":"boolean","description":"The client gave up because no data moved for several seconds. A transfer that was only cut off by the time allowed, while still moving, is neither failed nor aborted."}}},"upload":{"type":"object","additionalProperties":false,"required":["bytes","durationMs","failed","aborted"],"properties":{"bytes":{"type":"number","minimum":0,"maximum":1000000000},"durationMs":{"type":"number","minimum":0,"maximum":600000},"throughputMbps":{"type":"number","minimum":0,"maximum":100000},"longestStallMs":{"type":"number","minimum":0,"maximum":600000,"description":"The longest stretch in which no data moved while the transfer was under way."},"failed":{"type":"boolean","description":"The request errored."},"aborted":{"type":"boolean","description":"The client gave up because no data moved for several seconds. A transfer that was only cut off by the time allowed, while still moving, is neither failed nor aborted."}}},"connection":{"type":"object","additionalProperties":false,"description":"What the browser says about the connection, kept as context only.","properties":{"effectiveType":{"type":"string","maxLength":16},"downlinkMbps":{"type":"number","minimum":0,"maximum":100000},"rttMs":{"type":"number","minimum":0,"maximum":600000},"saveData":{"type":"boolean"}}}}},"verdict":{"type":"object","required":["thresholdsVersion","overall","candidateOverall","findings"],"properties":{"thresholdsVersion":{"type":"integer","minimum":1},"overall":{"type":"string","enum":["ok","warn","error"]},"candidateOverall":{"type":"string","enum":["ok","warn","error"],"description":"What the candidate was shown, which only counts the results that clearly mean trouble."},"findings":{"type":"array","items":{"type":"object","required":["id","status","candidateVisible"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["ok","warn","error"]},"reason":{"type":"string"},"candidateVisible":{"type":"boolean"}}}}}}}}}}},"systemsCheckRunId":{"type":"string","maxLength":64,"writeOnly":true,"description":"Preflight create only: the id of the systems check the candidate completed in this browser. Kept on the run when it is a completed systems check of the same attempt, and ignored otherwise."},"webVersion":{"type":"string","writeOnly":true,"description":"The version of the web app in use. Best effort: it is cut to 64 characters if longer and never causes the run to be refused."},"desktopVersion":{"type":"string","writeOnly":true,"description":"The version of the desktop proctoring application, when one is in use. Best effort: it is cut to 64 characters if longer and never causes the run to be refused."},"extensionVersion":{"type":"string","writeOnly":true,"description":"The version of the browser extension, when one is in use. Best effort: it is cut to 64 characters if longer and never causes the run to be refused."},"os":{"type":"string","writeOnly":true,"description":"The operating system, as the browser reports it. Best effort: it is cut to 64 characters if longer and never causes the run to be refused."},"browser":{"type":"string","writeOnly":true,"description":"The browser, as it reports itself. Best effort: it is cut to 64 characters if longer and never causes the run to be refused."},"timezone":{"type":"string","writeOnly":true,"description":"The time zone of the device. Best effort: it is cut to 64 characters if longer and never causes the run to be refused."},"locale":{"type":"string","writeOnly":true,"description":"The language the device is set to. Best effort: it is cut to 64 characters if longer and never causes the run to be refused."},"synopticLevel":{"type":"string","writeOnly":true,"description":"The level of proctoring software the journey is running in. Best effort: it is cut to 64 characters if longer and never causes the run to be refused."},"resumeRunId":{"type":"string","maxLength":64,"writeOnly":true,"description":"Create: the run this browser holds the key for, to resume it instead of starting another."},"resumeKey":{"type":"string","minLength":16,"maxLength":128,"writeOnly":true,"description":"Create: the key issued when that run was created."},"takeover":{"type":"boolean","writeOnly":true,"description":"Create: end a preflight that is in progress on another device and start one here."},"key":{"type":"string","minLength":16,"maxLength":128,"description":"Returned once, when a run is created, and never again. The browser keeps it and sends it with every progress update, so only that browser can write to the run."},"resumed":{"type":"boolean","readOnly":true,"description":"True when creating returned a run that was already in progress on this browser, restarted, rather than a new one."},"completedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true,"description":"When the journey was completed, if it has been."},"currentStep":{"type":"string","enum":["welcome","connect","confirm","system","network","displays","apps","tabs","media","speakers","room-scan","second-camera","identity","screen","full-screen","ready","results"],"description":"Progress update: the step the candidate is on. Sent with every heartbeat.","writeOnly":true},"visible":{"type":"boolean","writeOnly":true,"description":"Progress update: whether the preflight page is visible to the candidate."},"route":{"type":"string","maxLength":128,"writeOnly":true,"description":"Progress update: the name of the route the candidate is on, never a URL."},"plannedSteps":{"type":"array","writeOnly":true,"maxItems":30,"description":"Progress update: the steps the journey will take the candidate through, in order. Sent when it starts and whenever it changes.","items":{"type":"string","enum":["welcome","connect","confirm","system","network","displays","apps","tabs","media","speakers","room-scan","second-camera","identity","screen","full-screen","ready","results"],"description":"The key of a preflight journey step."}},"device":{"type":"object","required":["clientTime","screenWidth","screenHeight","windowWidth","windowHeight","isFullscreen"],"description":"What the candidate's device reported when it last checked in: its clock, screen and window size, whether the page is full screen, and its connection.","properties":{"clientTime":{"type":"string","format":"date-time","description":"The time on the device's own clock."},"pageUrl":{"type":"string","maxLength":300,"description":"The address the candidate is using, without any query string or fragment."},"screenWidth":{"type":"integer","minimum":0,"maximum":32768},"screenHeight":{"type":"integer","minimum":0,"maximum":32768},"windowWidth":{"type":"integer","minimum":0,"maximum":32768},"windowHeight":{"type":"integer","minimum":0,"maximum":32768},"windowX":{"type":"integer","description":"Distance from the left of the screen to the browser window.","minimum":-32768,"maximum":32768},"windowY":{"type":"integer","description":"Distance from the top of the screen to the browser window.","minimum":-32768,"maximum":32768},"isExtendedDisplay":{"type":"boolean","description":"Whether the device has more than one screen, when the browser says."},"mediaDevices":{"type":"array","description":"The cameras and microphones the browser can see.","maxItems":20,"items":{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["audioinput","videoinput"]},"label":{"type":"string","maxLength":120},"selectable":{"type":"boolean","description":"Whether this device appears in the candidate picker after filtering and deduplication."}}}},"screenShare":{"type":"object","description":"The active screen capture track, when available. This does not identify a primary or external display.","required":["active"],"properties":{"active":{"type":"boolean"},"label":{"type":"string","maxLength":120},"surface":{"type":"string","enum":["monitor","window","browser"]},"width":{"type":"integer","minimum":0,"maximum":32768},"height":{"type":"integer","minimum":0,"maximum":32768}}},"pixelRatio":{"type":"number","minimum":0,"maximum":16},"isFullscreen":{"type":"boolean"},"memoryGb":{"type":"number","minimum":0},"cpuCores":{"type":"integer","minimum":0},"architecture":{"type":"string","maxLength":16},"bitness":{"type":"string","maxLength":8},"connection":{"type":"object","description":"What the browser reports about the connection. Not every browser reports it.","properties":{"effectiveType":{"type":"string","enum":["slow-2g","2g","3g","4g"]},"type":{"type":"string","maxLength":16},"downlinkMbps":{"type":"number","minimum":0},"rttMs":{"type":"integer","minimum":0},"saveData":{"type":"boolean"}}}},"writeOnly":true},"status":{"type":"object","description":"A snapshot of what the candidate page can see right now. It replaces the previous snapshot.","properties":{"stage":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,31}$","description":"Where the candidate is within the current step."},"blockedApps":{"type":"array","maxItems":20,"description":"Names of prohibited apps found running. Only a systems check reports these, and only reviewers see them.","items":{"type":"string","maxLength":60}},"facts":{"type":"object","description":"Things that are true or false right now, such as whether the camera is live.","additionalProperties":{"type":"boolean"}},"checks":{"type":"object","description":"The live readiness of each requirement the journey checks before the exam can start.","additionalProperties":{"type":"string","enum":["ok","attention","blocked"]}}},"writeOnly":true},"events":{"type":"array","writeOnly":true,"maxItems":20,"description":"Progress update: milestones since the last update. step is required for every type except journey_completed.","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["step_started","step_completed","step_failed","step_skipped","journey_completed","restarted","handed_off"]},"step":{"type":"string","enum":["welcome","connect","confirm","system","network","displays","apps","tabs","media","speakers","room-scan","second-camera","identity","screen","full-screen","ready","results"],"description":"The key of a preflight journey step."},"errorCode":{"type":"string","pattern":"^[a-z][a-z0-9_-]{0,63}$","description":"The key of the error the candidate was shown."}}}}}},"relationships":{"type":"object","required":["attempt"],"properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ProctorReview object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ProctorReview":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ProctorReview"]},"attributes":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"body":{"type":"string","readOnly":false},"action":{"type":"string","readOnly":true},"timestamp":{"type":"string","readOnly":true},"anchoredAt":{"type":"string","format":"date-time","readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Product object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Product":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Product"]},"attributes":{"type":"object","allOf":[{"not":{"allOf":[{"required":["defaultCurrency"],"properties":{"defaultCurrency":{"enum":["gbp"]}}},{"required":["prices"],"properties":{"prices":{"type":"array","items":{"not":{"required":["currency"],"properties":{"currency":{"enum":["gbp"]}}}}}}}]}},{"not":{"allOf":[{"required":["defaultCurrency"],"properties":{"defaultCurrency":{"enum":["eur"]}}},{"required":["prices"],"properties":{"prices":{"type":"array","items":{"not":{"required":["currency"],"properties":{"currency":{"enum":["eur"]}}}}}}}]}},{"not":{"allOf":[{"required":["defaultCurrency"],"properties":{"defaultCurrency":{"enum":["usd"]}}},{"required":["prices"],"properties":{"prices":{"type":"array","items":{"not":{"required":["currency"],"properties":{"currency":{"enum":["usd"]}}}}}}}]}}],"properties":{"title":{"type":"string","readOnly":false},"isActive":{"type":"boolean","readOnly":false},"productIdentifier":{"type":"string","description":"Internal reference for the product, unique within the portal.","readOnly":false},"description":{"type":"string","nullable":true,"readOnly":false},"shortDescription":{"type":"string","nullable":true,"readOnly":false},"purchaseMethod":{"type":"string","enum":["product","subscription","free"],"readOnly":false},"requirements":{"type":"array","readOnly":false,"nullable":true,"maxItems":5,"items":{"type":"object","properties":{"type":{"type":"string","enum":["promoCode","storeOffer"]},"promoCode":{"type":"object","nullable":true,"required":["prefix"],"properties":{"prefix":{"type":"string"},"redemptions":{"type":"number"}}},"storeOffer":{"type":"object","nullable":true,"properties":{"id":{"type":"string"}}},"message":{"type":"string","description":"Store signposting message for the requirement.","readOnly":true,"nullable":true}}}},"unlockActions":{"type":"array","readOnly":false,"items":{"type":"object","properties":{"type":{"type":"string","enum":["userGroup","collection"]},"targetId":{"type":"string","nullable":true},"accessLevel":{"type":"string","nullable":true,"enum":["full","restricted"]},"config":{"type":"object","nullable":true},"fullAccessProductIdentifier":{"type":"string","nullable":true}}}},"marketingFeatures":{"type":"object","readOnly":false,"nullable":true,"required":["items"],"properties":{"heading":{"type":"string","nullable":true},"items":{"type":"array","maxItems":15,"items":{"type":"object","required":["label"],"not":{"allOf":[{"required":["iconUrl"],"properties":{"iconUrl":{"type":"string"}}},{"required":["icon"],"properties":{"icon":{"type":"string"}}}]},"properties":{"label":{"type":"string","minLength":1,"maxLength":200},"iconUrl":{"type":"string","description":"Uploaded custom image.","nullable":true},"icon":{"type":"string","description":"Picked icon class, an alternative to `iconUrl`.","minLength":1,"maxLength":60,"pattern":"^[a-z0-9]+(?: [a-z0-9]+)*$","nullable":true},"iconColour":{"type":"string","description":"Foreground colour of `icon`.","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}$","nullable":true},"backgroundColour":{"type":"string","description":"Tint behind the icon.","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}$","nullable":true}}}}}},"allowPromoCodes":{"type":"boolean","readOnly":false},"prices":{"type":"array","readOnly":false,"nullable":true,"description":"At most one price per currency; currency identifies a price within its product.","maxItems":3,"items":{"type":"object","required":["currency","amount"],"properties":{"currency":{"type":"string","enum":["gbp","eur","usd"]},"amount":{"type":"integer","description":"Minor units, e.g. 47500 for £475.00. At least 100 — one whole unit of the currency.","minimum":100},"taxBehavior":{"type":"string","description":"Whether `amount` already includes tax.","enum":["inclusive","exclusive",null],"nullable":true}}}},"defaultCurrency":{"type":"string","description":"Currency the storefront offers first. Must match one of `prices`.","enum":["gbp","eur","usd",null],"nullable":true,"readOnly":false},"amount":{"type":"number","nullable":true,"readOnly":true},"priceTag":{"type":"string","nullable":true,"readOnly":true},"currency":{"type":"string","nullable":true,"readOnly":true},"skuId":{"type":"string","nullable":true,"readOnly":true},"checkoutConfig":{"type":"object","nullable":true,"readOnly":true,"properties":{"type":{"type":"string","enum":["chargebee","stripe"]},"appId":{"type":"string","nullable":true},"publicKey":{"type":"string","nullable":true}},"required":["type"]},"isCheckoutConfigured":{"type":"boolean","description":"Whether the payment route this product needs is in place: always true for a free product, and for a paid one only while the portal holds usable Stripe integration credentials. Says nothing about the product being priced.","readOnly":true},"accessDetails":{"type":"object","nullable":true,"readOnly":true,"properties":{"accessUntilDate":{"type":"string","format":"date-time"},"accessLengthInMonths":{"type":"number","format":"int32","minimum":1,"nullable":true}},"required":["accessUntilDate"]}}},"relationships":{"type":"object","properties":{"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ProductList object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ProductList":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ProductList"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"description":{"type":"string","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{"products":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Product"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The PublicAttributeConfig object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PublicAttributeConfig":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PublicAttributeConfig"]},"attributes":{"type":"object","properties":{"customId":{"type":"string","readOnly":true},"type":{"type":"string","enum":["boolean","date","multiChoice","multiText","number","singleChoice","text","link"],"readOnly":false},"label":{"type":"string","readOnly":false},"sublabel":{"type":"string","readOnly":false,"nullable":true},"description":{"type":"string","readOnly":false,"nullable":true},"options":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"label":{"type":"string"}}}},"labelQuestion":{"type":"string","readOnly":false,"nullable":true},"editPermission":{"type":"number","enum":[0,1,2],"readOnly":false},"viewPermission":{"type":"number","enum":[0,1,2],"readOnly":false},"settings":{"type":"object","nullable":true,"properties":{"link":{"type":"object","properties":{"display":{"type":"object","properties":{"asButton":{"type":"boolean"}}},"authenticated":{"type":"boolean"},"clickBehavior":{"type":"string","enum":["newWindow","sameWindow","modal","modalWithDownload","download","action"],"readOnly":false,"nullable":false}}}}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PublicAuthenticationOption object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PublicAuthenticationOption":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PublicAuthenticationOption"]},"attributes":{"type":"object","properties":{"label":{"type":"string","readOnly":true},"authProvider":{"anyOf":[{"type":"object","readOnly":true,"properties":{"type":{"type":"string","enum":["local"]},"passkeysEnabled":{"type":"boolean","readOnly":true,"nullable":true}}},{"type":"object","readOnly":true,"properties":{"type":{"type":"string","enum":["auth0"]},"domain":{"type":"string","readOnly":true},"clientId":{"type":"string","readOnly":true},"scope":{"type":"array","readOnly":true,"items":{"type":"string"}}}},{"type":"object","readOnly":true,"properties":{"type":{"type":"string","enum":["adfs"]},"domain":{"type":"string","readOnly":true},"spEntityId":{"type":"string","readOnly":true}}},{"type":"object","readOnly":true,"properties":{"type":{"type":"string","enum":["saml"]},"domain":{"type":"string","readOnly":true},"spEntityId":{"type":"string","readOnly":true}}},{"type":"object","readOnly":true,"properties":{"type":{"type":"string","enum":["jwt"]},"loginPageUrl":{"type":"string","readOnly":true},"embedLoginPage":{"type":"boolean","readOnly":true}}}]}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The PublicCertificate object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"PublicCertificate":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["PublicCertificate"]},"attributes":{"type":"object","properties":{"html":{"type":"string","readOnly":true},"documentKey":{"type":"string","readOnly":true},"expiryDate":{"type":"string","readOnly":true},"validationUrl":{"type":"string","readOnly":true},"sharingImageUrl":{"type":"string","readOnly":true},"revokedAt":{"type":"string","format":"date-time","readOnly":true,"description":"When the certificate was withdrawn in favour of a replacement. Absent while it is live."}}},"relationships":{"type":"object","properties":{"document":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Document"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"examV2":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuestionExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuestionExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuestionExport"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","required":["quiz"],"properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuestionImport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuestionImport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuestionImport"]},"attributes":{"type":"object","properties":{"csvUrl":{"type":"string","readOnly":true},"fieldMap":{"type":"object","readOnly":true},"appendToTest":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"backgroundJob":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BackgroundJob"]}}}}},"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuestionImportValidation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuestionImportValidation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuestionImportValidation"]},"attributes":{"type":"object","properties":{"newTags":{"type":"number","readOnly":true},"toCreate":{"type":"number","readOnly":true},"toUpdate":{"type":"number","readOnly":true},"toDelete":{"type":"number","readOnly":true},"appendToTest":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"test":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuestionSummary object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuestionSummary":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuestionSummary"]},"attributes":{"type":"object","properties":{"masteryLevel":{"type":"string","readOnly":true,"enum":["unseen","weak","moderate","strong","mastered",null],"nullable":true}}},"relationships":{"type":"object","properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"tagSets":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["TagSet"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The Quiz object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Quiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":false,"minLength":1,"maxLength":300},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"description":{"type":"string","nullable":true,"readOnly":false,"maxLength":50000},"shortDescription":{"type":"string","nullable":true,"readOnly":false,"minLength":0,"maxLength":1500},"totalQuestions":{"type":"number","nullable":false,"readOnly":true},"instructionsEnabled":{"type":"boolean","readOnly":false,"nullable":false},"instructionsTitle":{"type":"string","nullable":true,"readOnly":false,"minLength":1,"maxLength":300},"instructionsBody":{"type":"string","nullable":true,"readOnly":false,"minLength":1,"maxLength":25000},"instructionsTimerDurationMs":{"type":"number","nullable":true,"readOnly":false,"minimum":1,"maximum":86400000},"instructionsEnforcedTimer":{"type":"string","readOnly":false,"enum":["afterAudioStarts","immediately"]},"instructionsAudioAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"instructionsAudioAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"instructionsAudioAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"instructionsDisableAudioControls":{"type":"boolean","readOnly":false,"nullable":true},"markingCreditsPerQuestion":{"type":"number","nullable":true,"readOnly":false,"minimum":0},"markingPartialCreditsPerQuestion":{"type":"number","nullable":true,"readOnly":false,"minimum":0},"markingPenaltiesPerQuestion":{"type":"number","nullable":true,"readOnly":false,"minimum":0},"markingPenaltiesEnabled":{"type":"boolean","nullable":true,"readOnly":false},"grades":{"type":"array","nullable":true,"items":{"type":"object","properties":{"label":{"type":"string","readOnly":false},"minScore":{"type":"number","readOnly":false},"isPass":{"type":"boolean","readOnly":false,"nullable":true},"description":{"type":"string","readOnly":false,"nullable":true},"advancedCriteria":{"type":"object","readOnly":false,"nullable":true,"properties":{"sectionRequirements":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","enum":["none","requiredCount","allPass","selectedPass"],"readOnly":false,"nullable":true},"count":{"type":"number","readOnly":false,"nullable":true},"sectionIds":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"string","readOnly":false,"nullable":true}}}},"excludeFromResitAttempts":{"type":"boolean","readOnly":false,"nullable":true}}}}}},"allowedModes":{"type":"array","nullable":true,"items":{"type":"string","enum":["practice","exam","timedExam"]},"minItems":1,"maxItems":3},"allowedLengths":{"type":"array","items":{"type":"string","enum":["default","quick","medium","long","extraLong"]}},"allowedPlayers":{"type":"array","items":{"type":"string","enum":["default","ucat","usmle"]}},"allowedTagSets":{"type":"array","nullable":true,"items":{"type":"string"}},"allowedFacets":{"type":"array","nullable":true,"items":{"type":"string","enum":["subject","topic","subtopic","skill","difficulty","context"]}},"calculatorEnabled":{"type":"boolean","readOnly":false},"tagSelectionDisplayMode":{"type":"string","enum":["dropdown","toggle"],"readOnly":false},"allowMultipleTagSelection":{"type":"boolean","readOnly":false},"excludeUntaggedQuestions":{"type":"boolean","readOnly":false},"showMasteryFilters":{"type":"boolean","readOnly":false},"calculatorType":{"type":"string","enum":["basic","scientific"]},"securityDisableCopying":{"type":"boolean","readOnly":false},"securityDisablePasting":{"type":"boolean","readOnly":false},"securityDisableRightClick":{"type":"boolean","readOnly":false},"navigationDisableNavigation":{"type":"boolean","readOnly":false},"navigationDisableControlPanel":{"type":"boolean","readOnly":false},"navigationDisableNotifications":{"type":"boolean","readOnly":false},"softSectionsEnabled":{"type":"boolean","readOnly":false},"notepadEnabled":{"type":"boolean","readOnly":false},"resizableQuestionPanelsEnabled":{"type":"boolean","readOnly":false},"strikethroughEnabled":{"type":"boolean","readOnly":false},"highlightingEnabled":{"type":"boolean","readOnly":false},"bookmarkingEnabled":{"type":"boolean","readOnly":false},"micSettingsEnabled":{"type":"boolean","readOnly":false},"labValuesEnabled":{"type":"boolean","readOnly":false},"labValuesHtml":{"type":"string","readOnly":false},"additionalInformationEnabled":{"type":"boolean","readOnly":false},"additionalInformationTitle":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":120},"additionalInformationIcon":{"type":"string","readOnly":false,"nullable":true},"additionalInformationHtml":{"type":"string","readOnly":false},"ignoreSkippedResponses":{"type":"boolean","readOnly":false},"reviewAndSubmitEnabled":{"type":"boolean","readOnly":false},"saveAndResumeEnabled":{"type":"boolean","readOnly":false},"resumeLaterButtonEnabled":{"type":"boolean","readOnly":false},"flaggingEnabled":{"type":"boolean","readOnly":false},"showAvailableMarks":{"type":"boolean","readOnly":false},"playerType":{"type":"string","enum":["default","ucat","usmle"]},"theme":{"type":"string"},"fontSize":{"type":"string","enum":["xSmall","small","medium","large","xLarge"]},"pinnedMessageDuringTest":{"type":"string","nullable":true,"readOnly":false,"minLength":1,"maxLength":1500},"deferResultsEnabled":{"type":"boolean","readOnly":false},"deferResultsMessage":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":25000},"deferResultsAlwaysRelease":{"type":"boolean","readOnly":false},"whenCompleteNoGradesMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000,"deprecated":true},"completedMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000,"deprecated":true},"resultsHideResults":{"type":"boolean","readOnly":false},"resultsGlobalHideScore":{"type":"boolean","readOnly":false},"resultsDetailedViewEnabled":{"type":"boolean","readOnly":false},"resultsOverviewWhenPassedMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsOverviewWhenFailedHasResitsMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsOverviewWhenFailedNoResitsMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsOverviewWhenCompleteNoGradesMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsOverviewWhenCompletedNeutralGradesMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessagePassed":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageFailed":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageResitsRemaining":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageNoResitsRemaining":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageCompleted":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageSettingHideTitle":{"type":"boolean","readOnly":false},"resultsHiddenMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsHiddenSettingHideTitle":{"type":"boolean","readOnly":false},"resultsMetricScoreEnabled":{"type":"boolean","readOnly":false},"resultsMetricTimeSpentEnabled":{"type":"boolean","readOnly":false},"resultsMetricGradeEnabled":{"type":"boolean","readOnly":false},"resultsMetricProgressEnabled":{"type":"boolean","readOnly":false,"deprecated":true,"description":"Use resultsMetricTagProgressEnabled instead"},"resultsMetricQuestionBreakdownDisplayLevel":{"type":"string","enum":["full","hideStemAndOptions","hideCorrectOptions","incorrectOnlyHideCorrectOptions","none"],"readOnly":false},"resultsMetricAnalyticsCohort":{"type":"string","enum":["exam","test","sourceTest"]},"resultsMetricCohortAverageEnabled":{"type":"boolean","readOnly":false},"resultsMetricCohortPercentileEnabled":{"type":"boolean","readOnly":false},"resultsMetricCohortScoreDistributionEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagBreakdownEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagProgressEnabled":{"type":"boolean","readOnly":false},"resultsMetricSectionBreakdownEnabled":{"type":"boolean","readOnly":false},"resultsMetricSectionBreakdownGradeEnabled":{"type":"boolean","readOnly":false},"resultsMetricSectionBreakdownScoreEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagProgressFacetsEnabled":{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"subject":{"type":"boolean","readOnly":false},"topic":{"type":"boolean","readOnly":false},"subtopic":{"type":"boolean","readOnly":false},"skill":{"type":"boolean","readOnly":false},"difficulty":{"type":"boolean","readOnly":false}}},"resultsEducatorViewAsAdminEnabled":{"type":"boolean","readOnly":false},"timerEnabled":{"type":"boolean","readOnly":false},"timerHidden":{"type":"boolean","readOnly":false},"timerUseQuestions":{"type":"boolean","readOnly":false},"timerUseSections":{"type":"boolean","readOnly":false},"timerEnforceFullTime":{"type":"boolean","readOnly":false},"timerTimeInMs":{"type":"number","nullable":true,"readOnly":false,"minimum":1,"maximum":86400000},"timerExtraTimeMultiplier":{"type":"number","readOnly":false,"nullable":true},"timerSoftTimer":{"type":"boolean","readOnly":false},"mutexLockKey":{"type":"string","readOnly":true,"nullable":true},"mutexLockExpiresAt":{"type":"string","readOnly":true,"nullable":true},"mutexLockType":{"type":"string","enum":["write","full",null],"readOnly":true,"nullable":true},"certificatesEnabled":{"type":"boolean","readOnly":false},"certificatesTemplateId":{"type":"string","nullable":true,"readOnly":false},"certificatesQrCode":{"type":"boolean","nullable":true,"readOnly":false},"certificatesTtl":{"type":"number","nullable":true,"readOnly":false},"certificatesIgnoreSubPortalBranding":{"type":"boolean","nullable":true,"readOnly":false},"certificatesIssueOnFail":{"type":"boolean","nullable":true,"readOnly":false},"certificatesResultsPage":{"type":"boolean","nullable":true,"readOnly":false},"certificatesSharingImageUrl":{"type":"string","nullable":true,"readOnly":false},"resitEnabled":{"type":"boolean","nullable":false,"readOnly":false},"resitType":{"type":"string","enum":["continuous","fixedDate","onDemand","rolling",null],"nullable":true,"readOnly":false},"resitMode":{"type":"string","enum":["standard","fixed","progressive","preferUnseen","failedSectionsOnly",null],"readOnly":false,"nullable":true},"resitGradeIndependent":{"type":"boolean","nullable":true,"readOnly":false},"resitAllowedAttempts":{"type":"number","nullable":true,"readOnly":false},"resitDelay":{"type":"number","nullable":true,"readOnly":false},"resitCloseDelay":{"type":"number","nullable":true,"readOnly":false},"resitCloseMode":{"type":"string","enum":["sameAsExam","sameAsPreviousAttempt","delay"],"nullable":true,"readOnly":false},"resitScheduleActivateAt":{"type":"string","nullable":true,"readOnly":false},"resitScheduleDeactivateAt":{"type":"string","nullable":true,"readOnly":false},"proctorEnabled":{"type":"boolean","readOnly":false,"nullable":false},"proctorVendor":{"type":"string","readOnly":false,"enum":["rosalyn","synopticV2",null],"nullable":true},"proctorRequireSecondCamera":{"type":"boolean","readOnly":false,"nullable":true},"proctorRequireFullscreen":{"type":"boolean","readOnly":false,"nullable":false},"proctorRestrictTabs":{"type":"boolean","readOnly":false,"nullable":false},"proctorRestrictDisplays":{"type":"boolean","readOnly":false,"nullable":false},"proctorRecordSession":{"type":"boolean","readOnly":false,"nullable":false},"proctorRecordSnapshots":{"type":"boolean","readOnly":false,"nullable":false},"proctorRecordDesktop":{"type":"boolean","readOnly":false,"nullable":false},"proctorSynopticLevel":{"type":"string","readOnly":false,"nullable":false,"enum":["web","browser","desktop"]},"proctorScreenMonitoring":{"type":"string","readOnly":false,"nullable":false,"enum":["none","recreation","recreationWithSnapshots","video"]},"proctorWebcamMonitoring":{"type":"string","readOnly":false,"nullable":false,"enum":["none","snapshots","audioVideo"]},"proctorRestrictKeyboardShortcuts":{"type":"boolean","readOnly":false,"nullable":false},"proctorScreenshotPrevention":{"type":"boolean","readOnly":false,"nullable":true},"proctorAiReview":{"type":"boolean","readOnly":false,"nullable":false},"proctorLiveAiDetection":{"type":"boolean","readOnly":false,"nullable":false},"proctorAiFlagCandidateLeftFrame":{"type":"boolean","readOnly":false,"nullable":false},"proctorAiFlagMultiplePeopleInFrame":{"type":"boolean","readOnly":false,"nullable":false},"proctorAiPrompts":{"type":"array","readOnly":false,"nullable":true,"maxItems":12,"items":{"type":"object","properties":{"prompt":{"type":"string","readOnly":false},"level":{"type":"string","readOnly":false,"enum":["info","warning","breach"]},"colour":{"type":"string","readOnly":false,"nullable":true},"enabled":{"type":"boolean","readOnly":false,"nullable":true}}}},"proctorOnBreach":{"type":"string","enum":["freeze","silent",null],"readOnly":false,"nullable":true},"proctorReviewOptional":{"type":"boolean","readOnly":false,"nullable":false},"proctorReviewMode":{"type":"string","enum":["always","never","onBreach",null],"readOnly":false,"nullable":true},"proctorLiveProctoring":{"type":"boolean","readOnly":false,"nullable":false},"proctorBlockedApplicationsPolicy":{"type":"string","readOnly":false,"nullable":true,"enum":["none","default",null]},"proctorRoomScanCoverage":{"type":"string","enum":["off","workspace","full",null],"nullable":true},"proctorRoomScanDevice":{"type":"string","enum":["phone","webcam","either",null],"nullable":true},"identityCheckRequired":{"type":"boolean","readOnly":false,"nullable":false},"identityCheckFailureAction":{"type":"string","enum":["flag","block",null],"readOnly":false,"nullable":true},"identityCheckVendor":{"type":"string","enum":["stripe","entrust","internal",null],"readOnly":false,"nullable":true},"identityCheckAutomaticFaceMatch":{"type":"boolean","readOnly":false,"nullable":true,"description":"Internal identity checks only: compare the face on the ID with the candidate's photo automatically, instead of leaving every check for review."},"identityCheckNameComparison":{"type":"boolean","readOnly":false,"nullable":true,"description":"Internal identity checks only: compare the candidate's account name with the name on their ID automatically. Off unless set."},"identityCheckNameAction":{"type":"string","enum":["record","flag","block",null],"readOnly":false,"nullable":true,"description":"Internal identity checks only: what happens when the candidate's account name is not found on their ID. Defaults to flag."},"proctorRosalynRuleUsePrivateTestArea":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleVisibleFace":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowInteractionWithOthers":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowOtherMaterials":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowNoiseMakingDevices":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowAdditionalDevices":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleAllowMouseKeyboardMonitorOnly":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowAppsOrBroswerTabs":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowExamContentSharing":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowTextPrediction":{"type":"boolean","readOnly":false,"nullable":false},"access":{"type":"object","readOnly":true,"properties":{"exam":{"type":"object","properties":{"objectId":{"type":"string","nullable":true}}}}},"legalEnabled":{"type":"boolean","readOnly":false},"legalTitle":{"type":"string","readOnly":false,"nullable":true},"legalBody":{"type":"string","readOnly":false,"nullable":true},"legalCheckboxLabel":{"type":"string","readOnly":false,"nullable":true},"legalConfirmationType":{"type":"string","enum":["checkbox","staticText","candidateName"],"readOnly":false,"nullable":true},"legalConfirmationStaticText":{"type":"string","readOnly":false,"nullable":true},"dynamicVariationEnabled":{"type":"boolean","readOnly":false},"dynamicVariationMaxVariants":{"type":"number","minimum":0,"readOnly":false,"nullable":true},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":true},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true},"scheduleSubmissionDueDate":{"type":"string","readOnly":false,"nullable":true},"scheduleRelativeCloseTimeInMs":{"type":"number","minimum":0,"readOnly":false,"nullable":true},"dynamicFiltersWeightingType":{"type":"string","enum":["absolute","percentage"],"nullable":true,"readOnly":false},"dynamicFilterRules":{"nullable":true,"type":"array","minItems":0,"maxItems":125,"description":"Array of filter rules to apply to the dynamic quiz content.","items":{"type":"object","properties":{"weighting":{"type":"number"},"shuffleQuestions":{"type":"boolean"},"matchingRules":{"type":"array","minItems":0,"maxItems":20,"description":"Array of matching rules to apply to the filter rule. Each rule will be treated as an AND operation. Matching rules can not be a mix of tag and EMQ rules.","items":{"oneOf":[{"anyOf":[{"type":"object","required":["tagId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["tagId"],"properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}}}]},{"anyOf":[{"type":"object","required":["emqGroupId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["emqGroupId"],"properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}}}]},{"anyOf":[{"type":"object","required":["questionId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["questionId"],"properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}}}]}]}}}}},"isDynamic":{"type":"boolean","readOnly":true},"isSectioned":{"type":"boolean","readOnly":true},"shuffleDynamicFilters":{"type":"boolean","nullable":true,"description":"If true then the dynamic filters will be shuffled for each attempt."},"shuffleAllDynamicQuestions":{"type":"boolean","nullable":true,"description":"If true then all questions selected accross filter rules will be shuffled. EMQ grouping will be maintained."},"shuffleSectionsEnabled":{"type":"boolean","readOnly":false},"shuffleQuestions":{"type":"string","enum":["disabled","random","enabled"],"readOnly":false,"description":"If true then the questions will be shuffled for each attempt."},"version":{"type":"string","readOnly":true},"status":{"type":"string","enum":["draft","published","cancelled","closed"],"readOnly":false,"nullable":false},"isGenerated":{"type":"boolean","readOnly":true,"nullable":true},"isArchived":{"type":"boolean","readOnly":false},"excludeInformationalQuestionsFromCounts":{"type":"boolean","readOnly":false},"sectionGradesEnabled":{"type":"boolean","readOnly":false},"advancedGradingEnabled":{"type":"boolean","readOnly":false},"passFailEnabled":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"questions":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}},"emqGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizEmqGroup"]}]}}}}}},"sections":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizSection"]}]}}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"instructionsAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"sourceContentQuizzes":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Quiz"]}]}}}}}},"sourceSettingsQuiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tagSet":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]}}}}},"setupValidation":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSetupValidation"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizAttemptSetupConfig object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizAttemptSetupConfig":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizAttemptSetupConfig"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"allowMultipleTagSelection":{"type":"boolean"},"allowedFacets":{"type":"array","nullable":true,"items":{"type":"string","enum":["subject","topic","subtopic","skill","difficulty","context",null]}},"allowedLengths":{"type":"array","nullable":true,"items":{"type":"string","enum":["default","quick","medium","long","extraLong",null]}},"allowedModes":{"type":"array","nullable":true,"items":{"type":"string","enum":["practice","exam","timedExam",null]}},"allowedPlayers":{"type":"array","nullable":true,"items":{"type":"string","enum":["default","ucat","usmle",null]}},"allowedTagSets":{"type":"array","nullable":true,"items":{"type":"string"}},"deferResultsEnabled":{"type":"boolean"},"description":{"type":"string"},"excludeUntaggedQuestions":{"type":"boolean"},"inProgressAttempt":{"type":"object","nullable":true,"additionalProperties":false,"description":"The in-progress attempt at this quiz for the requesting user. Null when they have none; omitted when it was not looked up.","properties":{"id":{"type":"string"},"timeStarted":{"type":"string","format":"date-time"},"quizMode":{"type":"string","enum":["practice","exam","timedExam","test"]},"questionsAnswered":{"type":"number"},"questionsTotal":{"type":"number"},"timeSpentMs":{"type":"number","description":"Active time on the attempt in milliseconds. Omitted when none has been recorded."},"savedAt":{"type":"string","format":"date-time","description":"When the student last left this attempt. Omitted when that cannot be derived."}}},"instructionsEnabled":{"type":"boolean"},"isGenerated":{"type":"boolean"},"questionIdList":{"type":"array","items":{"type":"string"}},"sectionCount":{"type":"number"},"sectionList":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"title":{"type":"string","nullable":true},"questionCount":{"type":"number"},"instructionsEnabled":{"type":"boolean"},"timerInferFromQuestions":{"type":"boolean"},"timerDurationMs":{"type":"number","nullable":true},"instructionsTimerDurationMs":{"type":"number","nullable":true}}}},"showMasteryFilters":{"type":"boolean"},"softSectionsEnabled":{"type":"boolean"},"tagSelectionDisplayMode":{"type":"string"},"timeAllowedForInstructionsMs":{"type":"number","nullable":true,"description":"Total time allowed for all instructions, including that of any sections."},"timeAllowedForQuestionsMs":{"type":"number","nullable":true,"description":"Total time allowed for all questions in a non-sectioned quiz. Excludes instruction timers."},"timeAllowedForSectionsMs":{"type":"number","nullable":true,"description":"Total time allowed for all questions in a sectioned quiz. Excludes instruction timers."},"timeAllowedOverallMs":{"type":"number","nullable":true,"description":"Total time allowed for setup, including instruction/section/question allocations."},"timerEnabled":{"type":"boolean"},"timerEnforceFullTime":{"type":"boolean"},"timerTimeInMs":{"type":"number","nullable":true},"timerUseQuestions":{"type":"boolean"},"timerUseSections":{"type":"boolean"},"title":{"type":"string"},"totalQuestions":{"type":"number"}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuizEmqGroup object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizEmqGroup":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"label":{"type":"string","readOnly":false,"minLength":1,"maxLength":300},"instructionsBody":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":100000},"feedback":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"audioPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioAutoPlay":{"type":"boolean","readOnly":false,"nullable":false},"hideQuestionStem":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"audioInstructions":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuizPdfAttemptExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizPdfAttemptExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizPdfAttemptExport"]},"attributes":{"type":"object","properties":{"url":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"exam":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]}}}}},"attempts":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"maxItems":500,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Attempt"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizPdfExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizPdfExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizPdfExport"]},"attributes":{"type":"object","properties":{"url":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuizQuestionAudioRecording object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionAudioRecording":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionAudioRecording"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["audioRecording"]},"inputLabel":{"type":"string","readOnly":false,"maxLength":30000},"audioRecordingMaximumTimeMs":{"type":"number","readOnly":false,"minimum":1,"maximum":3600000},"audioRecordingAllowDelete":{"type":"boolean","readOnly":false},"audioRecordingAllowReRecord":{"type":"boolean","readOnly":false},"audioRecordingAllowPause":{"type":"boolean","readOnly":false},"audioRecordingAllowEarlySubmission":{"type":"boolean","readOnly":false},"audioRecordingAutoRecording":{"type":"boolean","readOnly":false},"audioRecordingAutoRecordingDelayMs":{"type":"number","readOnly":false,"minimum":0,"maximum":3600000},"audioRecordingAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","afterAudioCompletion"]},"audioRecordingAutoAdvanceDelayMs":{"type":"number","readOnly":false,"minimum":0,"maximum":3600000}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionBowTie object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionBowTie":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionBowTie"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["bowTie"]},"optionFormat":{"type":"string","readOnly":false,"enum":["plainText","richText"],"description":"How option content is written. Bow tie options are plain text only, so this is always plainText and richText is rejected on update. Options of questions saved as rich text before that are returned as plain text, with the markup removed, and are stored as plain text on their next update. Group labels are always plain text."},"groups":{"type":"array","readOnly":false,"minItems":3,"maxItems":3,"description":"Exactly three groups, one for each of left, centre, right, sent in any order and stored in that order. The candidate picks 2, 1 and 2 options from the left, centre and right pools. Sent in full on update: the list replaces the stored groups.","items":{"type":"object","additionalProperties":false,"required":["key","label","options","correctOptionKeys"],"properties":{"key":{"type":"string","readOnly":false,"enum":["left","centre","right"],"description":"The position of the group in the bow tie."},"label":{"type":"string","readOnly":false,"minLength":1,"maxLength":100,"description":"The heading candidates see above the group. Plain text, saved exactly as sent apart from trimming surrounding whitespace, up to 100 characters."},"options":{"type":"array","readOnly":false,"maxItems":30,"description":"The pool of options the candidate chooses from for this group: at least 3 for left, 2 for centre and 3 for right, and at most 30. Options that are not correct are the distractors. Options must be unique within a group: the comparison ignores case, markup, zero-width characters and extra whitespace.","items":{"type":"object","additionalProperties":false,"required":["key","content"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its group. Letters, numbers, hyphens and underscores only."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":10000,"description":"Plain text, saved exactly as sent apart from trimming surrounding whitespace, of up to 500 characters. It is never parsed as HTML, so characters such as < and & are kept as typed."}}}},"correctOptionKeys":{"type":"array","readOnly":false,"items":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its group. Letters, numbers, hyphens and underscores only."},"description":"The keys of the correct options of this group: exactly 2 for left, 1 for centre and 2 for right. They must be distinct options of the same group."}}}},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"],"description":"Whether each pool is shuffled for every candidate. The three pools shuffle independently; the groups themselves never move."},"scoring":{"type":"string","readOnly":false,"enum":["exactMatch","proportionate"],"description":"exactMatch awards the credits only when every group has exactly its correct options. proportionate awards a fifth of the credits for each correct option the candidate selected; the groups are scored independently and nothing is deducted."}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionBulkAction object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionBulkAction":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionBulkAction"]},"attributes":{"type":"object","additionalProperties":false,"required":["scope","action"],"properties":{"scope":{"description":"Which of the quiz's questions to change: either an explicit list of at most 5000 question ids, or everything matching a filter and search, which are read as they are for the quiz's list of QuizQuestionSummaries. An empty filter and no search selects every question. A selection of more than 5000 questions is refused.","oneOf":[{"type":"object","additionalProperties":false,"required":["questionIds"],"properties":{"questionIds":{"type":"array","minItems":1,"maxItems":5000,"items":{"type":"string"}}}},{"type":"object","additionalProperties":false,"properties":{"filter":{"type":"object","additionalProperties":false,"properties":{"type":{"oneOf":[{"type":"array","items":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"]}},{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"]}],"description":"Only questions of one of these types, including older questions that predate the stored type."},"tag":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}],"description":"Only questions carrying one of the tags listed for each facet. Tags of the same facet are alternatives, and tags without a facet count as one facet of their own, so the question must match every facet that is named."},"section":{"type":"string","description":"Only the questions of this static section, by QuizSection id. A dynamic section selects questions by rule, so it matches none."},"emqGroup":{"type":"string","description":"Only the questions of this EMQ group."}}},"search":{"type":"string","minLength":1,"maxLength":200,"pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$"}}}]},"action":{"type":"object","additionalProperties":false,"required":["type"],"properties":{"type":{"type":"string","enum":["updateTags"],"description":"updateTags adds the tags in addTagIds that a question lacks and removes the tags in removeTagIds that it has. At least one tag is needed between the two lists, and no tag may be in both."},"addTagIds":{"type":"array","maxItems":50,"items":{"type":"string"},"description":"Tags to add. They are in the quiz’s portal and the caller can read them."},"removeTagIds":{"type":"array","maxItems":50,"items":{"type":"string"},"description":"Tags to remove. They are in the quiz’s portal and the caller can read them."}}}}},"relationships":{"type":"object","required":["quiz"],"properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuizQuestionChoiceMatrix object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionChoiceMatrix":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionChoiceMatrix"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["choiceMatrix"]},"selectionMode":{"type":"string","readOnly":false,"enum":["single","multiple"],"description":"single: the candidate selects exactly one option in each row and every row has exactly one correct option. multiple: the candidate selects one or more options in each row and every row has one or more correct options. The mode applies to every row. Changing it re-validates the stored rows."},"rowFormat":{"type":"string","readOnly":false,"enum":["plainText","richText"],"description":"How row content is written: plainText (the default) is text that is stored and shown exactly as typed, richText is HTML from the rich text editor, which is sanitised. Images are not allowed in either."},"optionFormat":{"type":"string","readOnly":false,"enum":["plainText","richText"],"description":"How option content is written, with the same rules as rowFormat."},"rows":{"type":"array","readOnly":false,"minItems":2,"maxItems":30,"description":"The statements the candidate answers, in the order they are shown. Rows must be unique: the comparison ignores case, markup, zero-width characters and extra whitespace. Sent in full on update: the list replaces the stored rows. Changing rowFormat requires sending the rows again.","items":{"type":"object","additionalProperties":false,"required":["key","content","correctOptionKeys"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":10000,"description":"Plain text when rowFormat is plainText: saved exactly as sent, apart from trimming surrounding whitespace. It is never parsed as HTML, so characters such as < and & are kept as typed, and it can have up to 500 characters. Otherwise rich text HTML of up to 10000 characters, without images or other embedded content."},"correctOptionKeys":{"type":"array","readOnly":false,"minItems":1,"maxItems":10,"description":"The keys of the options that are correct for this row, each one an existing option, without repeats. Exactly one when selectionMode is single, one or more when it is multiple. A row is only correct when the candidate selects exactly these options.","items":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."}}}}},"options":{"type":"array","readOnly":false,"minItems":2,"maxItems":10,"description":"The options the candidate chooses from, shared by every row, in the order they are shown. An option such as \"None apply\" is an ordinary option. Options must be unique: the comparison ignores case, markup, zero-width characters and extra whitespace. Sent in full on update: the list replaces the stored options. Changing optionFormat requires sending the options again.","items":{"type":"object","additionalProperties":false,"required":["key","content"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":10000,"description":"Plain text when optionFormat is plainText: saved exactly as sent, apart from trimming surrounding whitespace. It is never parsed as HTML, so characters such as < and & are kept as typed, and it can have up to 500 characters. Otherwise rich text HTML of up to 10000 characters, without images or other embedded content."}}}},"scoring":{"type":"string","readOnly":false,"enum":["exactMatch","proportionate"],"description":"exactMatch: full credit only when every row is correct. proportionate: credit for the share of rows that are correct. A row is correct only when the selected options equal its correct options."}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionClassification object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionClassification":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionClassification"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["classification"]},"itemFormat":{"type":"string","readOnly":false,"enum":["plainText","richText"],"description":"How item content is written: plainText (the default) is text that is stored and shown exactly as typed, richText is HTML from the rich text editor, which is sanitised. Images are not allowed in either. Category content is always plain text."},"items":{"type":"array","readOnly":false,"minItems":2,"maxItems":30,"description":"The items a candidate sorts into categories. Items must be unique: the comparison ignores case, markup, zero-width characters and extra whitespace. Sent in full on update: the list replaces the stored items.","items":{"type":"object","additionalProperties":false,"required":["key","content","correctCategoryKey"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":10000,"description":"Plain text when itemFormat is plainText: saved exactly as sent, apart from trimming surrounding whitespace. It is never parsed as HTML, so characters such as < and & are kept as typed, and it can have up to 500 characters. Otherwise rich text HTML of up to 10000 characters, without images or other embedded content."},"correctCategoryKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"The key of the category this item belongs to. Every item belongs to exactly one category."}}}},"categories":{"type":"array","readOnly":false,"minItems":2,"maxItems":30,"description":"The categories the items are sorted into. A category that no item belongs to is valid. Categories must be unique: the comparison ignores case, zero-width characters and extra whitespace. Sent in full on update: the list replaces the stored categories.","items":{"type":"object","additionalProperties":false,"required":["key","content"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":500,"description":"Plain text, saved exactly as sent apart from trimming surrounding whitespace. It is never parsed as HTML, and it can have up to 500 characters."}}}},"itemShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"]},"categoryShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"]},"scoring":{"type":"string","readOnly":false,"enum":["exactMatch","proportionate"]}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionClozeDragAndDrop object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionClozeDragAndDrop":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionClozeDragAndDrop"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["clozeDragAndDrop"]},"clozeTemplate":{"type":"string","readOnly":false,"minLength":1},"scoring":{"type":"string","enum":["exactMatch","partialMatch","matchPerBlank"]},"pointPerBlank":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"canReusePossibleResponses":{"type":"boolean","readOnly":false},"shareCorrectResponses":{"type":"boolean","readOnly":false},"blanks":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","readOnly":false},"correctResponseKey":{"type":"string","readOnly":false}}}},"possibleResponses":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","readOnly":false},"value":{"type":"string","readOnly":false},"credits":{"type":"array","items":{"type":"object","properties":{"blankKey":{"type":"string","readOnly":false},"value":{"type":"number","minimum":0,"readOnly":false}}},"readOnly":false,"nullable":true,"minItems":1},"penalties":{"type":"array","items":{"type":"object","properties":{"blankKey":{"type":"string","readOnly":false},"value":{"type":"number","minimum":0,"readOnly":false}}},"readOnly":false,"nullable":true,"minItems":1}}}},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"]},"markingScoreByChoiceEnabled":{"type":"boolean","readOnly":false,"nullable":true}},"anyOf":[{"description":"canReusePossibleResponses can be false when shareCorrectResponses is true","properties":{"canReusePossibleResponses":{"enum":[false]},"shareCorrectResponses":{"enum":[true]}}},{"description":"shareCorrectResponses can be false when canReusePossibleResponses is true","properties":{"canReusePossibleResponses":{"enum":[true]},"shareCorrectResponses":{"enum":[false]}}},{"description":"both canReusePossibleResponses and shareCorrectResponses can be false","properties":{"canReusePossibleResponses":{"enum":[false]},"shareCorrectResponses":{"enum":[false]}}}]},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionClozeDropDown object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionClozeDropDown":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionClozeDropDown"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["clozeDropDown"]},"clozeTemplate":{"type":"string","readOnly":false,"minLength":1},"scoring":{"type":"string","enum":["exactMatch","partialMatch","matchPerBlank"]},"pointPerBlank":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"blanks":{"type":"array","minItems":1,"items":{"type":"object","properties":{"key":{"type":"string","readOnly":false},"possibleResponses":{"type":"array","minItems":1,"items":{"type":"object","properties":{"isCorrect":{"type":"boolean","readOnly":false},"value":{"type":"string","readOnly":false},"credits":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"penalties":{"type":"number","readOnly":false,"nullable":true,"minimum":0}}}}}}},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"]},"markingScoreByChoiceEnabled":{"type":"boolean","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionClozeText object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionClozeText":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionClozeText"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["clozeText"]},"clozeTemplate":{"type":"string","readOnly":false,"minLength":1},"scoring":{"type":"string","enum":["exactMatch","partialMatch","matchPerBlank"]},"pointPerBlank":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"blanks":{"type":"array","minItems":1,"items":{"type":"object","properties":{"key":{"type":"string","readOnly":false},"type":{"type":"string","readOnly":false,"enum":["text","number"]},"possibleResponses":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"properties":{"value":{"anyOf":[{"type":"string","readOnly":false},{"type":"object","required":["min","max"],"properties":{"min":{"type":"number","readOnly":false},"max":{"type":"number","readOnly":false}},"readOnly":false}]},"credits":{"type":"number","readOnly":false,"nullable":true,"minimum":0}},"readOnly":false}}}}},"caseMatch":{"type":"boolean","readOnly":false},"disableSpellcheck":{"type":"boolean","readOnly":false},"decimalEnforcement":{"type":"number","readOnly":false,"nullable":true,"enum":[0,1,2,3,4,5,null]},"markingScoreByChoiceEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markingAllowManualMarkingForUnmatchedResponses":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionCoding object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionCoding":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionCoding"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["coding"]},"language":{"type":"string","readOnly":false,"enum":["javascript","typescript","html","css","python"],"description":"The language the code editor highlights. It is the only editor setting an author controls."},"template":{"type":"string","readOnly":false,"nullable":true,"maxLength":100000,"description":"The starting code the editor opens with for a candidate who has not saved an answer. Plain text: it is stored exactly as sent and never run or rendered as HTML."}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionDrawing object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionDrawing":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionDrawing"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["drawing"]},"eraserEnabled":{"type":"boolean","readOnly":false,"nullable":true},"colourPickerEnabled":{"type":"boolean","readOnly":false,"nullable":true},"strokeWidthPickerEnabled":{"type":"boolean","readOnly":false,"nullable":true},"freehandPenEnabled":{"type":"boolean","readOnly":false,"nullable":true},"drawRectEnabled":{"type":"boolean","readOnly":false,"nullable":true},"drawEllipseEnabled":{"type":"boolean","readOnly":false,"nullable":true},"drawLineEnabled":{"type":"boolean","readOnly":false,"nullable":true},"drawArrowEnabled":{"type":"boolean","readOnly":false,"nullable":true},"drawTextEnabled":{"type":"boolean","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionDrawing"]}}}}},"backgroundImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionFileUpload object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionFileUpload":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionFileUpload"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["fileUpload"]},"inputLabel":{"type":"string","readOnly":false,"minLength":1,"maxLength":30000}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionFlashcard object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionFlashcard":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionFlashcard"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["flashcard"]}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionFreeText object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionFreeText":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionFreeText"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["freeText"]},"inputLabel":{"type":"string","readOnly":false,"minLength":1,"maxLength":30000},"showWordCount":{"type":"boolean","readOnly":false},"maxWordCount":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"enableWebcamSnapshots":{"type":"boolean","readOnly":false},"enableEquationEditor":{"type":"boolean","readOnly":false},"disableSpellcheck":{"type":"boolean","readOnly":false},"enforcePlainTextInput":{"type":"boolean","readOnly":false},"answerTemplate":{"type":"string","readOnly":false,"nullable":true,"minLength":1}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionImageHotspot object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionImageHotspot":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionImageHotspot"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["imageHotspot"]},"markingScoreByChoiceEnabled":{"type":"boolean","readOnly":false},"maximumClicks":{"type":"number","readOnly":false,"nullable":true},"markingStrategy":{"type":"string","enum":["exactMatch","partialMatch","matchPerBlank","proportionate"],"readOnly":false},"clickLimitType":{"type":"string","enum":["any","max","exact"],"readOnly":false},"definedAreas":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","required":["slug","shape","coords"],"properties":{"slug":{"type":"string","minLength":1,"maxLength":100,"readOnly":false},"shape":{"type":"string","enum":["rect","ellipse","polygon"],"readOnly":false},"coords":{"oneOf":[{"type":"object","properties":{"centerX":{"type":"number"},"centerY":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"rotation":{"type":"number","nullable":true}},"required":["centerX","centerY","width","height"],"additionalProperties":false},{"type":"object","properties":{"points":{"type":"array","items":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"}},"required":["x","y"],"additionalProperties":false},"minItems":3,"maxItems":50}},"required":["points"],"additionalProperties":false}]},"label":{"type":"string","readOnly":false},"credits":{"type":"number","readOnly":false},"penalties":{"type":"number","readOnly":false},"isCorrect":{"type":"boolean","readOnly":false}},"readOnly":false}}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionImageHotspot"]}}}}},"hotspotImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionImageLabellingDragAndDrop object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionImageLabellingDragAndDrop":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionImageLabellingDragAndDrop"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["imageLabellingDragAndDrop"]},"optionFormat":{"type":"string","readOnly":false,"enum":["plainText","richText"],"description":"How answer content is written: plainText (the default) is text that is stored and shown exactly as typed, richText is HTML from the rich text editor, which is sanitised. Images are not allowed in either."},"slots":{"type":"array","readOnly":false,"minItems":1,"maxItems":30,"description":"The fixed slots a candidate places options into, positioned over the background image. Sent in full on update: the list replaces the stored slots.","items":{"type":"object","additionalProperties":false,"required":["key","centerX","centerY","acceptedOptionKeys"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"groupKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"The key of the option group this belongs to. Required when optionGroups is set and not allowed otherwise."},"centerX":{"type":"number","readOnly":false,"minimum":0,"maximum":100,"description":"The horizontal centre of the slot as a percentage of the image width."},"centerY":{"type":"number","readOnly":false,"minimum":0,"maximum":100,"description":"The vertical centre of the slot as a percentage of the image height."},"acceptedOptionKeys":{"type":"array","readOnly":false,"minItems":1,"description":"The keys of the options that are correct for this slot. At least one is needed. When option groups are used they must all belong to the slot's own group.","items":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."}}}}},"options":{"type":"array","readOnly":false,"minItems":2,"maxItems":30,"description":"The options a candidate chooses from. Options that no slot accepts act as distractors. Options must be unique: the comparison ignores case, markup, zero-width characters and extra whitespace. Sent in full on update: the list replaces the stored options.","items":{"type":"object","additionalProperties":false,"required":["key","content"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"groupKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"The key of the option group this belongs to. Required when optionGroups is set and not allowed otherwise."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":10000,"description":"Plain text when optionFormat is plainText: saved exactly as sent, apart from trimming surrounding whitespace. It is never parsed as HTML, so characters such as < and & are kept as typed, and it can have up to 500 characters. Otherwise rich text HTML of up to 10000 characters, without images or other embedded content."}}}},"optionGroups":{"type":"array","readOnly":false,"nullable":true,"description":"Optional named groups of options, 2 to 6 of them when used. Each slot belongs to one group and only accepts options from it, and the candidate sees one bank of options per group. When set, every option and slot needs a groupKey, and each group needs at least one slot and one option. Group labels must be unique, ignoring case and extra whitespace. Sent in full on update: the list replaces the stored groups, and null removes the groups.","items":{"type":"object","additionalProperties":false,"required":["key","label"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"label":{"type":"string","readOnly":false,"minLength":1,"maxLength":100,"description":"Plain text shown as the heading of the group."}}}},"allowOptionReuse":{"type":"boolean","readOnly":false,"description":"Whether the same answer can be placed in more than one slot. It applies to every option group."},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"]},"tileWidth":{"type":"number","readOnly":false,"exclusiveMinimum":true,"minimum":0,"maximum":100,"description":"The width of every slot and answer tile as a percentage of the image width."},"tileHeight":{"type":"number","readOnly":false,"exclusiveMinimum":true,"minimum":0,"maximum":100,"description":"The height of every slot and answer tile as a percentage of the image height."},"transparentSlots":{"type":"boolean","readOnly":false,"description":"Show slots without a border or background, for diagrams that already draw the empty boxes."},"backgroundAltText":{"type":"string","readOnly":false,"nullable":true,"maxLength":500,"description":"An optional description of the background image for screen readers. It must not give away the options."},"pointPerSlot":{"type":"number","readOnly":false,"nullable":true,"minimum":0,"description":"The points for each correctly filled slot. Required when scoring is matchPerBlank."},"scoring":{"type":"string","readOnly":false,"enum":["exactMatch","proportionate","matchPerBlank"],"description":"exactMatch needs every slot right, proportionate awards credit in proportion to the slots filled correctly, and matchPerBlank awards pointPerSlot for each slot filled correctly."}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionImageLabellingDragAndDrop"]}}}}},"backgroundImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionImageLabellingDropDown object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionImageLabellingDropDown":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionImageLabellingDropDown"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["imageLabellingDropDown"]},"slots":{"type":"array","readOnly":false,"minItems":1,"maxItems":30,"description":"The slots a candidate answers, positioned over the background image. Each slot has its own dropdown. Sent in full on update: the list replaces the stored slots.","items":{"type":"object","additionalProperties":false,"required":["key","centerX","centerY","choices"],"properties":{"key":{"type":"string","readOnly":false,"minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"centerX":{"type":"number","readOnly":false,"minimum":0,"maximum":100,"description":"The horizontal centre of the slot as a percentage of the image width."},"centerY":{"type":"number","readOnly":false,"minimum":0,"maximum":100,"description":"The vertical centre of the slot as a percentage of the image height."},"choices":{"type":"array","readOnly":false,"minItems":2,"maxItems":10,"description":"The choices in the dropdown of this slot. Exactly one is correct. Choices must be unique within the slot: the comparison ignores case, zero-width characters and extra whitespace.","items":{"type":"object","additionalProperties":false,"required":["key","content","correct"],"properties":{"key":{"type":"string","readOnly":false,"minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":200,"description":"Plain text, saved exactly as sent apart from trimming surrounding whitespace. It is never parsed as HTML. Up to 200 characters."},"correct":{"type":"boolean","readOnly":false,"description":"Whether this is the correct choice for the slot."}}}}}}},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"],"description":"Whether the choices of each slot are shuffled for every candidate. Slots keep their order."},"fieldWidth":{"type":"number","readOnly":false,"nullable":true,"exclusiveMinimum":true,"minimum":0,"maximum":100,"description":"The width of every slot as a percentage of the image width. Null fits each slot to its longest choice."},"fieldHeight":{"type":"number","readOnly":false,"nullable":true,"exclusiveMinimum":true,"minimum":0,"maximum":100,"description":"The height of every slot as a percentage of the image height. Null fits each slot to its content."},"backgroundAltText":{"type":"string","readOnly":false,"nullable":true,"maxLength":500,"description":"An optional description of the background image for screen readers. It must not give away the answers."},"pointPerSlot":{"type":"number","readOnly":false,"nullable":true,"minimum":0,"description":"The points for each correctly answered slot. Required when scoring is matchPerBlank."},"scoring":{"type":"string","readOnly":false,"enum":["exactMatch","proportionate","matchPerBlank"],"description":"exactMatch needs every slot right, proportionate awards credit in proportion to the slots answered correctly, and matchPerBlank awards pointPerSlot for each slot answered correctly."}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionImageLabellingDropDown"]}}}}},"backgroundImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionImageLabellingText object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionImageLabellingText":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionImageLabellingText"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["imageLabellingText"]},"slots":{"type":"array","readOnly":false,"minItems":1,"maxItems":30,"description":"The slots a candidate types an answer into, positioned over the background image. Sent in full on update: the list replaces the stored slots.","items":{"type":"object","additionalProperties":false,"required":["key","centerX","centerY","acceptedAnswers"],"properties":{"key":{"type":"string","readOnly":false,"minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"centerX":{"type":"number","readOnly":false,"minimum":0,"maximum":100,"description":"The horizontal centre of the slot as a percentage of the image width."},"centerY":{"type":"number","readOnly":false,"minimum":0,"maximum":100,"description":"The vertical centre of the slot as a percentage of the image height."},"acceptedAnswers":{"type":"array","readOnly":false,"minItems":1,"maxItems":10,"description":"The answers that are correct for this slot. They must be unique after trimming, collapsing whitespace and Unicode normalisation, ignoring case unless caseSensitive is set.","items":{"type":"string","readOnly":false,"minLength":1,"maxLength":200}}}}},"caseSensitive":{"type":"boolean","readOnly":false,"description":"Whether the capitalisation of a typed answer has to match."},"disableSpellcheck":{"type":"boolean","readOnly":false,"description":"Whether spellcheck and autocorrect are switched off in the answer slots."},"fieldWidth":{"type":"number","readOnly":false,"nullable":true,"exclusiveMinimum":true,"minimum":0,"maximum":100,"description":"The width of every slot as a percentage of the image width. Null fits each slot to its longest accepted answer."},"fieldHeight":{"type":"number","readOnly":false,"nullable":true,"exclusiveMinimum":true,"minimum":0,"maximum":100,"description":"The height of every slot as a percentage of the image height. Null fits each slot to its content."},"backgroundAltText":{"type":"string","readOnly":false,"nullable":true,"maxLength":500,"description":"An optional description of the background image for screen readers. It must not give away the answers."},"pointPerSlot":{"type":"number","readOnly":false,"nullable":true,"minimum":0,"description":"The points for each correctly answered slot. Required when scoring is matchPerBlank."},"scoring":{"type":"string","readOnly":false,"enum":["exactMatch","proportionate","matchPerBlank"],"description":"exactMatch needs every slot right, proportionate awards credit in proportion to the slots answered correctly, and matchPerBlank awards pointPerSlot for each slot answered correctly."}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionImageLabellingText"]}}}}},"backgroundImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionInformational object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionInformational":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionInformational"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["informational"]}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionLikert object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionLikert":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionLikert"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"questionType":{"type":"string","readOnly":true,"enum":["likert"]},"options":{"type":"array","readOnly":false,"minItems":2,"maxItems":10,"description":"The points of the scale in order, from first to last: 2 to 10 of them. The candidate chooses exactly one. A point's value is its position, starting at 1, so reordering the labels changes what existing responses mean. A Likert question is never marked: it has no correct answer, credits, penalties, scoring strategy or option shuffling, and every response is excluded from scoring. Sent in full on update: the list replaces the stored scale.","items":{"type":"object","additionalProperties":false,"required":["content"],"properties":{"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":100,"description":"The label of the point. Plain text, saved exactly as sent apart from trimming surrounding whitespace and shown as text, never as HTML, up to 100 characters. Labels must be unique: the comparison ignores case, zero-width characters and extra whitespace."}}}}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionMatching object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionMatching":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionMatching"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["matching"]},"promptFormat":{"type":"string","readOnly":false,"enum":["plainText","richText"],"description":"How prompt content is written: plainText (the default) is text that is stored and shown exactly as typed, richText is HTML from the rich text editor, which is sanitised. Images are not allowed in either."},"optionFormat":{"type":"string","readOnly":false,"enum":["plainText","richText"],"description":"How option content is written: plainText (the default) is text that is stored and shown exactly as typed, richText is HTML from the rich text editor, which is sanitised. Images are not allowed in either."},"prompts":{"type":"array","readOnly":false,"minItems":2,"maxItems":30,"description":"The prompts a candidate matches to options. Sent in full on update: the list replaces the stored prompts.","items":{"type":"object","additionalProperties":false,"required":["key","content","correctOptionKey"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":10000,"description":"Plain text when promptFormat is plainText: saved exactly as sent, apart from trimming surrounding whitespace. It is never parsed as HTML, so characters such as < and & are kept as typed, and it can have up to 500 characters. Otherwise rich text HTML of up to 10000 characters, without images or other embedded content."},"correctOptionKey":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"The key of the option that is the correct match for this prompt."}}}},"options":{"type":"array","readOnly":false,"minItems":2,"maxItems":30,"description":"The options shared by all prompts. Options that no prompt matches act as distractors. Options must be unique: the comparison ignores case, markup, zero-width characters and extra whitespace. Sent in full on update: the list replaces the stored options.","items":{"type":"object","additionalProperties":false,"required":["key","content"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within its list. Letters, numbers, hyphens and underscores only."},"content":{"type":"string","readOnly":false,"minLength":1,"maxLength":10000,"description":"Plain text when optionFormat is plainText: saved exactly as sent, apart from trimming surrounding whitespace. It is never parsed as HTML, so characters such as < and & are kept as typed, and it can have up to 500 characters. Otherwise rich text HTML of up to 10000 characters, without images or other embedded content."}}}},"allowOptionReuse":{"type":"boolean","readOnly":false,"description":"Whether several prompts can have the same option as their correct match."},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"]},"promptShuffling":{"type":"string","readOnly":false,"enum":["disabled","random"]},"scoring":{"type":"string","readOnly":false,"enum":["exactMatch","proportionate"]}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionMultipleCorrect object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionMultipleCorrect":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionMultipleCorrect"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["multipleCorrect"]},"scoring":{"type":"string","enum":["exactMatch","partialMatch","proportionate"]},"options":{"allOf":[{"type":"array","items":{"type":"object","additionalProperties":false,"required":["isCorrect"],"properties":{"isCorrect":{"type":"boolean","readOnly":false},"phrase":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"image":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"credits":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"penalties":{"type":"number","readOnly":false,"nullable":true,"minimum":0}}},"anyOf":[{"type":"array","items":{"type":"object","required":["phrase"]}},{"type":"array","items":{"type":"object","required":["image"]}}]}]},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random","alphaNumeric"]},"multiCorrectLimitType":{"type":"string","enum":["any","max","exact",null],"readOnly":false,"nullable":true},"multiCorrectLimit":{"type":"number","readOnly":false,"nullable":true},"markingScoreByChoiceEnabled":{"type":"boolean","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionNumericAnswer object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionNumericAnswer":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionNumericAnswer"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingScoreByChoiceEnabled":{"type":"boolean","readOnly":false,"description":"When false (the default) any accepted answer earns the question credit. When true each rule may carry its own credit and the highest matching rule credit is awarded."},"questionType":{"type":"string","readOnly":true,"enum":["numericAnswer"]},"prefix":{"type":"string","readOnly":false,"nullable":true,"maxLength":20,"description":"Text shown before the answer box, such as a currency symbol. Plain text, display only: it is never part of the candidate's answer and never marked. Trimmed, up to 20 characters. Send null or an empty string to clear it."},"suffix":{"type":"string","readOnly":false,"nullable":true,"maxLength":20,"description":"Text shown after the answer box, such as a unit like kg. Plain text, display only: there is no unit conversion and it is never marked. Trimmed, up to 20 characters. Send null or an empty string to clear it."},"precisionMode":{"type":"string","readOnly":false,"enum":["none","exactDecimalPlaces","maxDecimalPlaces"],"description":"The format requirement for the candidate's entry. none (the default) has no requirement. exactDecimalPlaces requires exactly decimalPlaces digits after the decimal point, so 1.50 satisfies 2 and 1.5 does not. maxDecimalPlaces requires at most decimalPlaces digits. The entry is never rounded or changed. The value is marked against the rules first; a value that matches a rule but does not meet the format scores zero and is recorded as formatValid false."},"decimalPlaces":{"type":"integer","readOnly":false,"minimum":0,"maximum":10,"description":"The number of decimal places the format requires, 0 to 10 (0 means a whole number). Required when precisionMode is not none and rejected when it is none. Changing precisionMode to none clears it."},"rules":{"type":"array","readOnly":false,"minItems":1,"maxItems":20,"description":"The accepted answers: 1 to 20 rules. Rules may overlap. When several rules accept the entry the rule with the highest credit is awarded, once (credits only count with markingScoreByChoiceEnabled): credits are never added up and the order of the rules does not matter. When no rule accepts it the answer is incorrect, and a blank entry is skipped, never zero. Where rules with equal credit accept the same entry, the rule that accepts the narrower interval wins (a plain exact value is the narrowest), then an exact rule beats a range of the same width, then the key in ascending order. Sent in full on update: the list replaces the stored rules.","items":{"type":"object","additionalProperties":false,"required":["key","matchType"],"properties":{"key":{"type":"string","readOnly":false,"minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","description":"Identifier set by the client, unique within the question. Letters, numbers, hyphens and underscores only."},"matchType":{"type":"string","readOnly":false,"enum":["exact","range"],"description":"exact accepts one value, or a value within a tolerance of it, and needs exact. range accepts every value from minimum to maximum inclusive and needs minimum and maximum. The fields that belong to the other match type are rejected."},"exact":{"type":"string","readOnly":false,"description":"The accepted value of an exact rule. A plain decimal number written as a string with a decimal point, for example \"42\", \"-0.5\" or \"12.50\": no plus sign, grouping commas, exponent, spaces, or a decimal point without digits on either side. At most 30 characters, not counting a leading minus. Trailing zeros are kept as sent."},"minimum":{"type":"string","readOnly":false,"description":"The lowest accepted value of a range rule, inclusive. A plain decimal number written as a string with a decimal point, for example \"42\", \"-0.5\" or \"12.50\": no plus sign, grouping commas, exponent, spaces, or a decimal point without digits on either side. At most 30 characters, not counting a leading minus. Trailing zeros are kept as sent."},"maximum":{"type":"string","readOnly":false,"description":"The highest accepted value of a range rule, inclusive. It cannot be lower than minimum. A plain decimal number written as a string with a decimal point, for example \"42\", \"-0.5\" or \"12.50\": no plus sign, grouping commas, exponent, spaces, or a decimal point without digits on either side. At most 30 characters, not counting a leading minus. Trailing zeros are kept as sent."},"toleranceType":{"type":"string","readOnly":false,"enum":["absolute","percentage"],"description":"Only for an exact rule, and only together with tolerance. absolute accepts values within tolerance of exact, bounds included. percentage accepts values within tolerance percent of the size of exact, so an exact of 0 accepts only exactly 0."},"tolerance":{"type":"string","readOnly":false,"description":"Only for an exact rule, and only together with toleranceType. How far from exact the rule still accepts, bounds included. Greater than 0, and for a percentage at most 10000. A plain decimal number written as a string with a decimal point, for example \"42\", \"-0.5\" or \"12.50\": no plus sign, grouping commas, exponent, spaces, or a decimal point without digits on either side. At most 30 characters, not counting a leading minus. Trailing zeros are kept as sent."},"credit":{"type":"number","readOnly":false,"exclusiveMinimum":true,"minimum":0,"maximum":100000,"description":"Optional. Only used when markingScoreByChoiceEnabled is true, and ignored otherwise: the marks awarded when this rule is the one that accepts the entry, more than 0 and up to 100000. Left out it defaults to the credit of the question. The question is worth the highest of these."},"feedback":{"type":"string","readOnly":false,"nullable":true,"maxLength":10000,"description":"Optional rich text feedback, sanitised like option feedback. Shown to the candidate only with the rest of the answers, and only for the rule that was awarded."}}}}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionOffPlatform object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionOffPlatform":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionOffPlatform"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["offPlatform"]},"hideFromPlayer":{"type":"boolean","readOnly":false,"nullable":false}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionRanked object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionRanked":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionRanked"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["ranked"]},"options":{"type":"array","items":{"type":"object","properties":{"phrase":{"type":"string","readOnly":false,"minLength":1},"rank":{"type":"number","readOnly":false,"minimum":0}}}},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random","alphaNumeric"]}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionShortAnswer object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionShortAnswer":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionShortAnswer"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["shortAnswer"]},"options":{"type":"array","maxItems":100,"items":{"type":"object","properties":{"value":{"type":"string","readOnly":false},"correctness":{"type":"number","readOnly":false}},"readOnly":false}},"disableSpellcheck":{"type":"boolean","readOnly":false},"caseMatch":{"type":"boolean","readOnly":false},"markingScoreByChoiceEnabled":{"type":"boolean","readOnly":false},"markingAllowManualMarkingForUnmatchedResponses":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionSingleCorrect object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionSingleCorrect":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionSingleCorrect"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["singleCorrect"]},"options":{"allOf":[{"type":"array","items":{"type":"object","additionalProperties":false,"required":["isCorrect"],"properties":{"isCorrect":{"type":"boolean","readOnly":false},"phrase":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"feedback":{"type":"string","readOnly":false,"nullable":true},"image":{"type":"string","readOnly":false,"nullable":true,"minLength":1},"credits":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"penalties":{"type":"number","readOnly":false,"nullable":true,"minimum":0}}},"anyOf":[{"type":"array","items":{"type":"object","required":["phrase"]}},{"type":"array","items":{"type":"object","required":["image"]}}]}]},"optionShuffling":{"type":"string","readOnly":false,"enum":["disabled","random","alphaNumeric"]},"markingScoreByChoiceEnabled":{"type":"boolean","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionSpreadsheet object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionSpreadsheet":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionSpreadsheet"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["spreadsheet"]},"inputLabel":{"type":"string","readOnly":false,"minLength":1,"maxLength":30000},"answerTemplate":{"type":"string","readOnly":false,"nullable":true,"minLength":1}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionSummary object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionSummary":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionSummary"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"questionType":{"type":"string","enum":["audioRecording","videoRecording","clozeDragAndDrop","clozeDropDown","clozeText","fileUpload","freeText","shortAnswer","informational","multipleCorrect","ranked","singleCorrect","spreadsheet","imageHotspot","offPlatform","flashcard","trueOrFalse","drawing","matching","imageLabellingDragAndDrop","imageLabellingDropDown","imageLabellingText","classification","bowTie","likert","numericAnswer","choiceMatrix","textSelection","coding"],"readOnly":true},"name":{"type":"string","readOnly":true},"stemExcerpt":{"type":"string","readOnly":true,"description":"The stem as plain text, without markup, cut to 200 characters with a trailing ellipsis when it is longer."},"leadInExcerpt":{"type":"string","readOnly":true,"description":"The lead-in as plain text, without markup, cut to 200 characters with a trailing ellipsis when it is longer. Absent when the question has no lead-in."},"doi":{"type":"string","readOnly":true},"position":{"type":"integer","minimum":1,"nullable":true,"readOnly":true,"description":"The question’s one-based place in the quiz’s own question order, whichever way the list is sorted. Null for a question that belongs to the quiz but is not in its question order."},"availableMarks":{"type":"number","readOnly":true,"description":"The most a candidate can score on the question under the quiz’s own marking defaults, falling back to the portal’s, and the question’s own marking where it sets any. It is not the denominator of an exam attempt, as it ignores custom marking and any ceiling set on an attempt. Informational questions carry none."}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"section":{"type":"object","description":"The static section the question belongs to. Empty when the quiz has no sections or the question is only reached through a dynamic section.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"owner":{"type":"object","description":"The question’s author. Empty when the question has none.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionTextSelection object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionTextSelection":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionTextSelection"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["textSelection"]},"template":{"type":"string","readOnly":false,"minLength":1,"maxLength":50000,"description":"The passage as rich text HTML, which is sanitised. Each region the candidate can select is an inline span carrying a data-text-selection-region attribute with its key, wrapped around the text it covers. The template holds keys only, never which regions are correct. Regions cannot overlap, nest, contain a block, link, form control or image, or repeat a key. Changing the template re-validates every region."},"regions":{"type":"array","readOnly":false,"minItems":2,"maxItems":100,"description":"One entry for every region in the template and no others. At least one region must be correct. Sent in full on update: the list replaces the stored regions. The text of a region comes from the template, never from the client, and is returned as content.","items":{"type":"object","additionalProperties":false,"required":["key","correct"],"properties":{"key":{"type":"string","minLength":2,"maxLength":100,"pattern":"^[a-zA-Z0-9-_]+$","readOnly":false,"description":"Identifier set by the client, unique within the question. Letters, numbers, hyphens and underscores only. It must match the data-text-selection-region attribute of exactly one region in the template."},"correct":{"type":"boolean","readOnly":false,"description":"Whether selecting this region is correct."},"content":{"type":"string","readOnly":true,"maxLength":500,"description":"The plain text of the region, taken from the template with whitespace collapsed. Read only."}}}},"selectionLimitType":{"type":"string","readOnly":false,"enum":["any","max","exact"],"description":"any: the candidate can select any number of regions. max: up to as many regions as there are correct regions. exact: as many regions as there are correct regions are expected, although fewer are still marked. The number is derived when an attempt is generated, never authored. At the limit further selections are blocked."},"scoring":{"type":"string","readOnly":false,"enum":["exactMatch","proportionate","netCorrect"],"description":"exactMatch: full credit only when exactly the correct regions are selected. proportionate: credit for the share of regions judged correctly, counting a correct region selected and an incorrect region left alone. netCorrect: each correct region selected earns an equal share of the credit and each incorrect region selected takes one share away, never going below zero. Questions saved with the retired perCorrectSelection scoring are returned and marked as proportionate."},"pointPerCorrectSelection":{"type":"number","readOnly":false,"nullable":true,"minimum":0,"description":"Legacy. The points for each correct region of a question saved with the retired perCorrectSelection scoring, and null for every other question. It is ignored for marking and cannot be set: only null is accepted on update, which clears it."}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionTrueOrFalse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionTrueOrFalse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionTrueOrFalse"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"questionType":{"type":"string","readOnly":true,"enum":["trueOrFalse"]},"correctAnswer":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizQuestionVideoRecording object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizQuestionVideoRecording":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizQuestionVideoRecording"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"stem":{"type":"string","readOnly":false},"name":{"type":"string","readOnly":false,"nullable":true,"maxLength":150},"leadIn":{"type":"string","readOnly":false,"nullable":true},"doi":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"feedback":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"timerMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":7200000},"layout":{"type":"string","readOnly":false,"nullable":true,"enum":["topDown","swimLane",null]},"markingCredit":{"type":"number","readOnly":false,"nullable":true,"minimum":0},"markingPartialCredit":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"markingPenalty":{"type":"number","readOnly":false,"minimum":0,"nullable":true},"mediaStemType":{"type":"string","enum":["audio","video",null],"readOnly":false,"nullable":true},"audioStemAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"audioStemAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"audioStemAutoAdvanceEnforceFullTime":{"type":"boolean","nullable":true,"readOnly":false},"disableAudioStemControls":{"type":"boolean","readOnly":false},"audioStemPlaybackLimit":{"type":"number","readOnly":false,"minimum":1,"nullable":true},"audioStemAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"audioStemDisableProgression":{"type":"boolean","readOnly":false,"nullable":true},"audioStemHideOptions":{"type":"boolean","readOnly":false,"nullable":true},"hideStemMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1000,"maximum":3600000},"unreviewedFlags":{"type":"number","readOnly":true},"markingAdditionalInfo":{"type":"string","readOnly":false,"nullable":true},"markingResolutionEnabled":{"type":"boolean","readOnly":false},"markingResolutionStrategy":{"type":"string","readOnly":false,"enum":["average","highest","lowest","median"]},"markingAgreementThresholdType":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"markingAgreementThresholdValue":{"type":"number","readOnly":false},"markSchemeEnabled":{"type":"boolean","readOnly":false,"nullable":true},"markSchemeCustomMarkingEnabled":{"type":"boolean","readOnly":false,"nullable":false},"markSchemeCustomMarkingMaxCredits":{"type":"number","readOnly":false,"nullable":true},"markSchemeCustomMarkingstrategy":{"type":"string","enum":["scale","cap"],"readOnly":false,"nullable":true},"markSchemeCriterion":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string","readOnly":false},"label":{"type":"string","readOnly":false},"maxCredits":{"type":"number","readOnly":false,"minimum":0},"description":{"type":"string","readOnly":false,"nullable":true},"agreementThreshold":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","readOnly":false,"enum":["percentageDiff","points"]},"value":{"type":"number","readOnly":false}}}}}},"questionType":{"type":"string","readOnly":true,"enum":["videoRecording"]},"inputLabel":{"type":"string","readOnly":false,"maxLength":30000},"videoRecordingMaximumTimeMs":{"type":"number","readOnly":false,"minimum":1,"maximum":3600000},"videoRecordingAllowDelete":{"type":"boolean","readOnly":false},"videoRecordingAllowReRecord":{"type":"boolean","readOnly":false},"videoRecordingAllowPause":{"type":"boolean","readOnly":false},"videoRecordingAllowEarlySubmission":{"type":"boolean","readOnly":false},"videoRecordingAutoRecording":{"type":"boolean","readOnly":false},"videoRecordingAutoRecordingDelayMs":{"type":"number","readOnly":false,"minimum":0,"maximum":3600000},"videoRecordingAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","afterAudioCompletion"]},"videoRecordingAutoAdvanceDelayMs":{"type":"number","readOnly":false,"minimum":0,"maximum":3600000}}},"relationships":{"type":"object","properties":{"emqGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizEmqGroup"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}},"section":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]}}}}},"audioStem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"source":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizSection object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizSection":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSection"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"minLength":1,"maxLength":100},"isDynamic":{"type":"boolean","readOnly":true},"doi":{"type":"string","readOnly":false,"nullable":false,"minLength":0,"maxLength":200,"pattern":"^[^\\s'\"`]*$"},"instructionsEnabled":{"type":"boolean","readOnly":false},"instructionsTitle":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":100},"instructionsBody":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":25000},"instructionsTimerEnabled":{"type":"boolean","readOnly":false,"nullable":true},"instructionsTimerHidden":{"type":"boolean","readOnly":false,"nullable":true},"instructionsTimerDurationMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1,"maximum":86400000},"instructionsAudioAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"instructionsAudioAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"instructionsAudioAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"instructionsDisableAudioControls":{"type":"boolean","readOnly":false,"nullable":true},"outroEnabled":{"type":"boolean","readOnly":false},"outroTitle":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":100},"outroBody":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":25000},"outroTimerEnabled":{"type":"boolean","readOnly":false,"nullable":true},"outroTimerHidden":{"type":"boolean","readOnly":false,"nullable":true},"outroTimerDurationMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1,"maximum":86400000},"outroAudioAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"outroAudioAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"outroAudioAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"outroDisableAudioControls":{"type":"boolean","readOnly":false,"nullable":true},"timerEnabled":{"type":"boolean","readOnly":false},"timerHidden":{"type":"boolean","readOnly":false},"timerDurationMs":{"type":"number","readOnly":false,"nullable":true,"minimum":1},"timerInferFromQuestions":{"type":"boolean","readOnly":false,"nullable":true},"index":{"type":"number","readOnly":false},"filterRules":{"type":"array","minItems":0,"maxItems":125,"description":"Array of filter rules to apply to the dynamic quiz content.","items":{"type":"object","properties":{"weighting":{"type":"number"},"shuffleQuestions":{"type":"boolean"},"matchingRules":{"type":"array","minItems":0,"maxItems":20,"description":"Array of matching rules to apply to the filter rule. Each rule will be treated as an AND operation. Matching rules can not be a mix of tag and EMQ rules.","items":{"oneOf":[{"anyOf":[{"type":"object","required":["tagId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["tagId"],"properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}}}]},{"anyOf":[{"type":"object","required":["emqGroupId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["emqGroupId"],"properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}}}]},{"anyOf":[{"type":"object","required":["questionId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["questionId"],"properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}}}]}]}}}}},"navigationDisableNavigation":{"type":"boolean","readOnly":false,"nullable":true},"navigationDisableControlPanel":{"type":"boolean","readOnly":false,"nullable":true},"grades":{"type":"array","nullable":true,"items":{"type":"object","required":["label"],"properties":{"label":{"type":"string","readOnly":false},"minScore":{"description":"A default failing grade should have minScore set to `null`","type":"number","readOnly":false,"nullable":true},"isPass":{"type":"boolean","readOnly":false},"description":{"type":"string","readOnly":false,"nullable":true}}}},"scoreModifiers":{"type":"array","nullable":true,"readOnly":false,"items":{"type":"object","additionalProperties":false,"required":["type"],"properties":{"type":{"type":"string","enum":["omitLowestScoringQuestionPerSection"]}}}}}},"relationships":{"type":"object","properties":{"questions":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionVideoRecording","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"instructionsAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"outroAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"setupValidation":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSetupValidation"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The QuizSetupValidation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizSetupValidation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSetupValidation"]},"attributes":{"type":"object","properties":{"valid":{"type":"boolean","readOnly":true},"invalidReason":{"type":"string","nullable":true},"filterValidations":{"type":"array","nullable":true,"items":{"type":"object","properties":{"index":{"type":"number"},"invalidReason":{"type":"string"}}}},"sectionValidations":{"type":"array","nullable":true,"items":{"type":"object","properties":{"sectionIndex":{"type":"number"},"invalidReason":{"type":"string"},"filterValidations":{"type":"array","nullable":true,"items":{"type":"object","properties":{"index":{"type":"number"},"invalidReason":{"type":"string"}}}}}}},"gradeValidations":{"type":"array","nullable":true,"items":{"type":"object","properties":{"invalidReason":{"type":"string"},"path":{"type":"string"},"invalidSectionIds":{"type":"array","nullable":true,"items":{"type":"string"}}}}}}},"relationships":{"type":"object","required":["quiz"],"properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The QuizTagBreakdown object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"QuizTagBreakdown":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizTagBreakdown"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"totalQuestions":{"type":"number","readOnly":true,"nullable":false},"tagDataList":{"type":"array","nullable":false,"readOnly":true,"items":{"type":"object","properties":{"tagId":{"type":"string","nullable":false,"readOnly":true},"tagSetId":{"type":"string","nullable":true,"readOnly":true},"label":{"type":"string","nullable":false,"readOnly":true},"facet":{"type":"string","nullable":true,"readOnly":true},"totalQuestions":{"type":"number","nullable":false,"readOnly":true}}}}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The RelationLink object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"RelationLink":{"type":"object","properties":{"self":{"type":"string"},"related":{"type":"string"}}}}}}
```

## The Relationship object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Relationship":{"type":"object","description":"Describes a relationship object that references the related resource.","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/ResourceIdentifierObject"},{"$ref":"#/components/schemas/ResourceIdentifierArray"}]},"links":{"$ref":"#/components/schemas/RelationLink"},"meta":{"type":"object","additionalProperties":true}}},"ResourceIdentifierObject":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"$ref":"#/components/schemas/ResourceType"}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."},"ResourceIdentifierArray":{"type":"array","description":"This is a resource linkage for a to-many relationship. It is like a list of Parse Pointers.","nullable":true,"items":{"$ref":"#/components/schemas/ResourceIdentifierObject"}},"RelationLink":{"type":"object","properties":{"self":{"type":"string"},"related":{"type":"string"}}}}}}
```

## The ResourceIdentifierArray object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ResourceIdentifierArray":{"type":"array","description":"This is a resource linkage for a to-many relationship. It is like a list of Parse Pointers.","nullable":true,"items":{"$ref":"#/components/schemas/ResourceIdentifierObject"}},"ResourceIdentifierObject":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"$ref":"#/components/schemas/ResourceType"}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The ResourceIdentifierObject object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ResourceIdentifierObject":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"$ref":"#/components/schemas/ResourceType"}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The ResourceType object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The Response object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Response":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Response"]},"attributes":{"type":"object","properties":{"questionData":{"type":"object","readOnly":true},"options":{"type":"array","items":{"type":"object"}},"chosenOptions":{"type":"array","items":{"type":"object"}},"correctOptions":{"type":"array","items":{"type":"object"}},"marks":{"type":"object"},"hideFromPlayer":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ResponseMaxPointsOverride object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ResponseMaxPointsOverride":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ResponseMaxPointsOverride"]},"attributes":{"type":"object","properties":{"maxPoints":{"type":"number","minimum":0,"nullable":true},"notifyCandidate":{"type":"boolean","writeOnly":true,"description":"Off unless `true`. Email the candidate a short notice that their results were updated, with a link and no marks. Sent only for a released result once marking is final; the exam’s results-email setting and hidden-results page still apply. See `meta.notification`."},"previousMaxPoints":{"type":"number","nullable":true,"readOnly":true}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"response":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Response"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The RoomScan object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"RoomScan":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["RoomScan"]},"attributes":{"type":"object","properties":{"preflightRunId":{"type":"string","readOnly":true},"writerGeneration":{"type":"integer","minimum":1},"key":{"type":"string","minLength":16,"maxLength":128,"writeOnly":true},"prepareUpload":{"type":"boolean","enum":[true],"writeOnly":true,"description":"Prepare an upload and return its signed details. Requires method, key and writerGeneration; webcam uploads also require contentType and size."},"contentType":{"type":"string","enum":["video/mp4","video/webm"],"writeOnly":true},"size":{"type":"integer","minimum":1,"maximum":262144000,"writeOnly":true},"uploadId":{"type":"string","format":"uuid"},"uploadUrl":{"type":"string","format":"uri","readOnly":true},"uploadFields":{"type":"object","additionalProperties":{"type":"string"},"readOnly":true},"uploadExpiresAt":{"type":"string","format":"date-time","readOnly":true},"isSubmitted":{"type":"boolean","enum":[true],"writeOnly":true,"description":"Submit the current upload. Requires uploadId, key and writerGeneration. Cannot be combined with review or other candidate updates."},"cancelUpload":{"type":"boolean","enum":[true],"writeOnly":true,"description":"Discard an unsubmitted upload. Requires key and writerGeneration."},"attemptId":{"type":"string","readOnly":true},"coverage":{"type":"string","enum":["off","workspace","full"],"readOnly":true},"device":{"type":"string","enum":["phone","webcam","either"],"readOnly":true},"state":{"type":"string","enum":["created","uploaded","ready"],"readOnly":true},"availability":{"type":"string","enum":["available","pending","expired","redacted"],"readOnly":true},"finding":{"type":"string","enum":["notReviewed","green","amber","red"]},"reasons":{"type":"array","items":{"type":"string","enum":["poorImageQuality","inadequateCoverage","prohibitedItems"]}},"comment":{"type":"string","maxLength":4000},"submittedAt":{"type":"string","format":"date-time","readOnly":true},"reviewedAt":{"type":"string","format":"date-time","readOnly":true},"reviewedBy":{"type":"string","readOnly":true},"redactedAt":{"type":"string","format":"date-time","readOnly":true},"redactedBy":{"type":"string","readOnly":true},"expiresAt":{"type":"string","format":"date-time","readOnly":true},"maximumBytes":{"type":"integer","readOnly":true},"minimumDurationSeconds":{"type":"number","readOnly":true},"maximumDurationSeconds":{"type":"number","readOnly":true},"method":{"type":"string","enum":["phone","webcam"]},"reportedRecordedAt":{"type":"string","format":"date-time"},"browser":{"type":"string","maxLength":120},"os":{"type":"string","maxLength":120},"playbackUrl":{"type":"string","readOnly":true},"authoritative":{"type":"boolean","readOnly":true},"reviewGuidance":{"type":"string","readOnly":true},"canReview":{"type":"boolean","readOnly":true},"locale":{"type":"string","readOnly":true},"providerName":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ScormCourse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ScormCourse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ScormCourse"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string"},"fileName":{"type":"string","readOnly":true},"shortDescription":{"type":"string"},"description":{"type":"string"},"importState":{"type":"string","enum":["pending","completed","failed"],"readOnly":true},"settingsDisplayMode":{"type":"string","enum":["newWindow","embedded"],"readOnly":false},"isArchived":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"scormFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The SearchFilterConfig object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SearchFilterConfig":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SearchFilterConfig"]},"attributes":{"type":"object","required":["target","attribute","label","options"],"properties":{"target":{"type":"string","description":"The target resource to filter on.","readOnly":true,"enum":["AssignmentGroup","Collection","Course","Exam","LibraryItem","Tag","User","UserGroup"]},"attribute":{"type":"string","readOnly":true},"label":{"type":"string","readOnly":true},"options":{"type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"type":"string"},"value":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}]},"thumbnail":{"type":"string","description":"Optional thumbnail URL for visual display (e.g. user profile picture)."}}}},"placeholder":{"type":"string","readOnly":true},"explanation":{"type":"string","readOnly":true},"search":{"type":"object","properties":{"className":{"type":"string"},"labelPath":{"type":"string"}}},"defaultValue":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}],"readOnly":true,"description":"The option value applied until the user removes the filter. Absent when the filter starts empty."},"single":{"type":"boolean","readOnly":true,"description":"Legacy: true when only one option can be selected. Prefer capabilities.cardinality."},"capabilities":{"type":"object","readOnly":true,"required":["kind","cardinality","valueEncoding"],"properties":{"kind":{"type":"string","enum":["option","text","number","date"],"description":"Input / value kind: option, text, number, or date."},"cardinality":{"type":"string","enum":["one","many"],"description":"How many values the user can pick: one or many."},"valueEncoding":{"type":"string","enum":["scalar","range"],"description":"How the value is encoded for the operator: scalar or range (e.g. for number/date ranges)."}}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SearchResult object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SearchResult":{"anyOf":[{"$ref":"#/components/schemas/Tag"},{"$ref":"#/components/schemas/User"},{"$ref":"#/components/schemas/Exam-V-2"},{"$ref":"#/components/schemas/UserGroup"},{"$ref":"#/components/schemas/SubPortal"},{"$ref":"#/components/schemas/AssignmentGroup"},{"$ref":"#/components/schemas/UserType"},{"$ref":"#/components/schemas/Assignment"},{"$ref":"#/components/schemas/Course"},{"$ref":"#/components/schemas/TagSet"},{"$ref":"#/components/schemas/Content"},{"$ref":"#/components/schemas/Note"},{"$ref":"#/components/schemas/Quiz"},{"$ref":"#/components/schemas/ScormCourse"},{"$ref":"#/components/schemas/Survey"},{"$ref":"#/components/schemas/Collection"},{"$ref":"#/components/schemas/CollectionItemQuiz"}]},"Tag":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Tag"]},"attributes":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":500,"readOnly":false},"facet":{"type":"string","enum":["exam","module","subject","topic","subtopic","difficulty","skill","context",null],"nullable":true,"readOnly":false},"feedback":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":100000},"isVisibleToStudents":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"tagSet":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"User":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"emailAddress":{"type":"string","readOnly":false},"externalId":{"type":"string","readOnly":false},"profilePicture":{"type":"object","readOnly":false,"nullable":true,"properties":{"__type":{"type":"string","enum":["File"]},"name":{"type":"string"},"url":{"type":"string","readOnly":false}}},"preferences":{"type":"object","readOnly":false},"featureRollouts":{"type":"object","readOnly":false,"additionalProperties":{"type":"string","enum":["on","off"]}},"accessibility":{"type":"object","readOnly":false,"properties":{"extraTimeMultiplier":{"type":"number","readOnly":false,"nullable":true},"isAllowedNativeReadAloud":{"type":"boolean","readOnly":false}}},"attr":{"type":"object","readOnly":false},"timeZone":{"type":"string","readOnly":false},"notificationConfig":{"type":"object","readOnly":false},"marketingEmailsConsent":{"type":"string","readOnly":false,"nullable":true},"lastSeen":{"type":"string","readOnly":true},"emailVerified":{"type":"boolean","readOnly":true},"isDisabled":{"type":"boolean","readOnly":false},"authData":{"type":"object","readOnly":true},"firstName":{"type":"string","readOnly":true},"lastName":{"type":"string","readOnly":true},"userGroupsMetadata":{"type":"object","readOnly":true,"additionalProperties":{"type":"object","properties":{"dateJoined":{"type":"string","format":"date-time"}}}}}},"relationships":{"type":"object","properties":{"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"userAttributes":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserAttribute"]}]}}}}}},"userGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ResourceType":{"type":"string","description":"Identifies the Resource."},"Exam-V-2":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Exam-V-2"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true},"directUserRegistrationEnabled":{"type":"boolean","readOnly":true,"description":"If true, the exam will created with an implicit user group and users can be registered directly into the exam without the need for user group management."},"isDynamic":{"type":"boolean","readOnly":true},"isSectioned":{"type":"boolean","readOnly":true},"shortDescription":{"type":"string","nullable":true},"preExamInstructions":{"type":"string","nullable":true},"markingDoubleEnabled":{"type":"boolean"},"markingDoubleAllocation":{"type":"string","enum":["manual","roundRobin"],"nullable":true},"markingDoubleMinMarkers":{"type":"number","nullable":true},"markingDoubleSequence":{"type":"string","enum":["parallel","serial"],"nullable":true},"markingBlindProvisionalMarker":{"type":"boolean"},"markingBlindModeratingMarker":{"type":"boolean"},"markingBlindEscalationMarker":{"type":"boolean"},"markingBlindBackReadingMarker":{"type":"boolean"},"markingBlindAuditingMarker":{"type":"boolean"},"markingBlindIsolate":{"type":"boolean"},"markerConcealmentProvisional":{"type":"boolean"},"markerConcealmentModerating":{"type":"boolean"},"markerConcealmentEscalation":{"type":"boolean"},"markerConcealmentAuditing":{"type":"boolean"},"markingEscalationEnabled":{"type":"boolean"},"markingEscalationModeratorsCanEscalate":{"type":"boolean"},"markingEscalationReasons":{"type":"array","minItems":1,"nullable":true,"items":{"type":"object","properties":{"slug":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"}}}},"markingBackReadingEnabled":{"type":"boolean"},"markingAuditingEnabled":{"type":"boolean"},"markingResolutionEnabled":{"type":"boolean"},"markingShowAllMarkerFeedback":{"type":"boolean"},"notificationAutomateEmails":{"type":"boolean"},"notificationResultsEmailEnabled":{"type":"boolean"},"hideFromCandidateList":{"type":"boolean"},"markingModeratingMarkerAllocation":{"type":"string","enum":["manual","roundRobin"],"nullable":true},"markingProvisionalMarkerAllocation":{"type":"string","enum":["manual","roundRobin"],"nullable":true},"markingEscalationMarkerAllocation":{"type":"string","enum":["manual","roundRobin"],"nullable":true},"markingModeratingMarkerGranularity":{"type":"string","enum":["attempt","question"],"nullable":true},"markingProvisionalMarkerGranularity":{"type":"string","enum":["attempt","question"],"nullable":true},"markingEscalationMarkerGranularity":{"type":"string","enum":["attempt","question"],"nullable":true},"ipAllowList":{"type":"array","readOnly":false,"nullable":true,"minItems":1,"items":{"type":"string"}},"lockedByDefault":{"type":"boolean","readOnly":false,"nullable":true},"lockedByDefaultScope":{"type":"string","enum":["allAttempts","excludeResits"],"readOnly":false,"nullable":true},"resumeSameSession":{"type":"boolean","readOnly":false,"nullable":true},"resumeAllowed":{"type":"boolean","readOnly":false,"nullable":true},"passcodeEnabled":{"type":"boolean","readOnly":false,"nullable":false},"passcodeValue":{"type":"string","readOnly":false,"nullable":true},"codeLoginEnabled":{"type":"boolean","readOnly":false,"nullable":false},"codeLoginVerifyWith":{"type":"array","readOnly":false,"nullable":true,"description":"Corroborating details a per-attempt login code asks for. Empty means none. Ignored when codeLoginSharedCode is on.","items":{"type":"string","enum":["surname","externalId"]}},"codeLoginSharedCode":{"type":"boolean","readOnly":false,"nullable":false,"description":"Every candidate sitting the exam signs in with the exam's id as their code, identifying themselves with both their external ID and their surname. Ignores codeLoginVerifyWith."},"codeLoginGenerateMissingAttempt":{"type":"boolean","readOnly":false,"nullable":false,"description":"Create an attempt during a shared-code sign-in for a student on the portal who does not have one yet."},"candidateSource":{"type":"string","readOnly":false,"nullable":false,"enum":["defaultGroup","examWindows"],"description":"Where candidates come from. defaultGroup (the default when unset) issues an attempt to every member of the user group on publish; examWindows issues nothing on publish and leaves enrolment to Exam Windows. Can only be changed while the exam has no attempts."},"attr":{"type":"object"},"isArchived":{"type":"boolean"},"mutexLockKey":{"type":"string","nullable":true,"readOnly":true},"mutexLockExpiresAt":{"type":"string","nullable":true,"readOnly":true},"mutexLockType":{"type":"string","enum":["full","write"],"readOnly":true},"testVersions":{"type":"object","readOnly":true,"properties":{"DRAFT":{"type":"string"}},"additionalProperties":{"oneOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"publishedBy":{"type":"string"},"publishedAt":{"type":"string"},"status":{"type":"string","enum":["draft","published","closed","cancelled"]},"scheduleOpenDate":{"type":"string","nullable":true},"scheduleCloseDate":{"type":"string","nullable":true},"previousVersionId":{"type":"string","nullable":true}}}]}},"resultEducatorsViewAsAdminEnabled":{"type":"boolean"},"resultDetailedViewEnabled":{"type":"boolean"}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}},"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"markers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"moderatingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"escalatingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"auditingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"backReadingMarkers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"setupJob":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["BackgroundJob"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"publishedVersion":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"currentVersion":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"UserGroup":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"description":{"type":"string","readOnly":false},"attr":{"type":"object","readOnly":false,"additionalProperties":true},"isDefaultGroup":{"type":"boolean","readOnly":true},"defaultGroupType":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true},"isArchived":{"type":"boolean","readOnly":false},"totalUsers":{"type":"number","readOnly":true},"parentId":{"type":"string","readOnly":true,"nullable":true},"internal":{"type":"boolean","readOnly":true},"membershipExpiryEnabled":{"type":"boolean","readOnly":false},"membershipExpiryTimeToExpireInMs":{"type":"number","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"userType":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserType"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"SubPortal":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"brandPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"brandSecondary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"fontLinkColour":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"buttonColourPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"buttonColourSecondary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"buttonTextColourPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"buttonTextColourSecondary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"chartColourPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"defaultCardImageUrl":{"type":"string","readOnly":false,"nullable":true},"headerLogoUrl":{"type":"string","readOnly":false,"nullable":true},"squareLogoUrl":{"type":"string","readOnly":false,"nullable":true},"faviconUrl":{"type":"string","readOnly":false,"nullable":true},"affiliationTwitterUrl":{"type":"string","readOnly":false,"nullable":true},"affiliationFacebookUrl":{"type":"string","readOnly":false,"nullable":true},"affiliationLinkedInUrl":{"type":"string","readOnly":false,"nullable":true},"affiliationYoutubeUrl":{"type":"string","readOnly":false,"nullable":true},"subdomain":{"type":"string","readOnly":false,"nullable":true},"hostname":{"type":"string","readOnly":true,"nullable":true},"useCustomSubPortalDomain":{"type":"boolean","readOnly":false,"description":"When true, the hostname uses the portal `subPortalDomain` suffix instead of the portal hostname (requires `subPortalDomain` to be set on the portal)."},"registrationBackgroundImageUrl":{"type":"string","readOnly":false,"nullable":true},"registrationHeaderBackgroundColor":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},"registrationHeaderBorderBottomColor":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},"registrationPageTitle":{"type":"string","readOnly":false,"nullable":true},"registrationPageDescription":{"type":"string","readOnly":false,"nullable":true},"registrationRegisterMethod":{"type":"string","enum":["open","closed",null],"readOnly":false,"nullable":true,"description":"Registration sign-up method for this sub-portal. When null, the portal-level registration method is used as a fallback."},"emailSettingsFromName":{"type":"string","nullable":true,"readOnly":false},"emailSettingsFromEmail":{"type":"string","format":"email","nullable":true,"readOnly":false},"emailSettingsFooterText":{"type":"string","nullable":true,"readOnly":false},"emailSettingsHeaderLogoUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"emailSettingsWelcomeEmailSubject":{"type":"string","nullable":true,"readOnly":false},"emailSettingsWelcomeEmailBody":{"type":"string","nullable":true,"readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"AssignmentGroup":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentGroup"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false,"minLength":1},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"image":{"type":"object","readOnly":false,"deprecated":true,"description":"This property is deprecated. Use the relation \"coverImage\" instead.","properties":{"url":{"type":"string"}}},"absoluteDeadline":{"type":"string","format":"date-time","readOnly":false,"nullable":true},"relativeDeadlineMs":{"type":"number","minimum":3600000,"maximum":31536000000,"readOnly":false,"nullable":true,"description":"The relative deadline in milliseconds, minimum 1 hour, maximum 1 year"},"deadlineType":{"type":"string","enum":["indefinite","absolute","relative"],"readOnly":false},"progressionType":{"type":"string","enum":["fixed-linear","flexible-linear","flexible-open"],"readOnly":false},"isReviewRequired":{"type":"boolean","readOnly":false},"isActive":{"deprecated":true,"description":"This property is deprecated. Use the property \"status\" instead.","type":"boolean","readOnly":true},"isPendingActivation":{"deprecated":true,"description":"This property is deprecated. Use the property \"status\" instead.","type":"boolean","readOnly":true},"isCompleted":{"deprecated":true,"description":"This property is deprecated. Use the property \"status\" instead.","type":"boolean","readOnly":true},"isArchived":{"type":"boolean","readOnly":false},"status":{"type":"string","readOnly":false,"enum":["inactive","pendingActivation","active","complete","cancelled","closed"],"nullable":false},"certificateTemplateId":{"type":"string","readOnly":false,"nullable":true},"certificateIgnoreSubPortalBranding":{"type":"boolean","readOnly":false,"nullable":false},"certificateShareList":{"type":"array","readOnly":false,"nullable":true,"maxItems":4,"items":{"type":"object","required":["label","urlPrefix"],"properties":{"label":{"type":"string","minLength":1,"maxLength":100},"urlPrefix":{"type":"string"}}}},"startDate":{"type":"string","nullable":true},"endDate":{"type":"string","nullable":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"sourceCourse":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":false,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"reviewers":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"UserType":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserType"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true},"pageControls":{"type":"object","readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"Assignment":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Assignment"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"attr":{"type":"object","readOnly":false},"image":{"type":"object","deprecated":true,"description":"Use `coverImage` instead","readOnly":true,"properties":{"url":{"type":"string"}}},"deadline":{"type":"string","format":"date-time","readOnly":false},"status":{"type":"string","enum":["Not started","In progress","Pending review","Failed","Passed","Completed","Missed deadline","Revoked"],"nullable":false,"readOnly":false},"progress":{"type":"number","readOnly":true},"startDate":{"type":"string","readOnly":true},"endDate":{"type":"string","readOnly":true},"setDate":{"type":"string","readOnly":true},"timeSpentInMinutes":{"type":"number","readOnly":true},"totalItems":{"type":"number","readOnly":true},"itemsCompleted":{"type":"number","readOnly":true},"attemptNumber":{"type":"number","readOnly":true},"isReviewRequired":{"type":"boolean","readOnly":true},"certificateShareList":{"type":"array","readOnly":true,"nullable":true,"maxItems":4,"items":{"type":"object","required":["label","urlPrefix"],"properties":{"label":{"type":"string","minLength":1,"maxLength":100},"urlPrefix":{"type":"string"}}}},"isPreview":{"type":"boolean","readOnly":true},"versionNumber":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"course":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":false,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["AssignmentItemAudio","AssignmentItemDocument","AssignmentItemEmbed","AssignmentItemNote","AssignmentItemQuiz","AssignmentItemScorm","AssignmentItemSurvey","AssignmentItemTextEntry","AssignmentItemUpload","AssignmentItemVideo","AssignmentItemZip"]}]}}}}}},"folders":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["AssignmentFolder"]}]}}}}}},"certificate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Certificate"]}}}}},"certificateFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"Course":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Course"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false,"nullable":false,"minLength":1},"description":{"type":"string","readOnly":false,"nullable":true},"isArchived":{"type":"boolean","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"versionNumber":{"type":"number","readOnly":true},"publishedAt":{"type":"string","readOnly":true},"totalItems":{"type":"number","readOnly":true}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CourseItem","CourseItemAudio","CourseItemDocument","CourseItemEmbed","CourseItemNote","CourseItemQuiz","CourseItemScorm","CourseItemSurvey","CourseItemTextEntry","CourseItemUpload","CourseItemVideo","CourseItemZip"]}]}}}}}},"folders":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CourseFolder"]}]}}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"TagSet":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]},"attributes":{"type":"object","properties":{"label":{"type":"string","readOnly":false,"nullable":false,"minLength":1,"maxLength":300}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"Content":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Content"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":false,"minLength":1},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","enum":["audio","document","embed","video","zip","image"],"readOnly":true},"attachmentMimeType":{"type":"string","readOnly":true,"nullable":true},"isLibraryItem":{"type":"boolean","readOnly":true},"isArchived":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"attachment":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"embedData":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ContentEmbedDatum"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"Note":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Note"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"slug":{"type":"string","readOnly":true},"privacy":{"type":"string","readOnly":false},"description":{"type":"string","readOnly":false},"shortDescription":{"type":"string","readOnly":false},"body":{"type":"string","readOnly":false},"isArchived":{"type":"boolean","readOnly":false},"isLegalDoc":{"type":"boolean","readOnly":false},"isLibraryItem":{"type":"boolean","readOnly":true},"settings":{"deprecated":true,"description":"Deprecated. Use settingsDisplaySize and settingsPaddingEnabled instead.","type":"object","readOnly":false},"settingsDisplaySize":{"type":"string","readOnly":false,"enum":["narrow","fullWidth"]},"settingsPaddingEnabled":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"Quiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":false,"minLength":1,"maxLength":300},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"description":{"type":"string","nullable":true,"readOnly":false,"maxLength":50000},"shortDescription":{"type":"string","nullable":true,"readOnly":false,"minLength":0,"maxLength":1500},"totalQuestions":{"type":"number","nullable":false,"readOnly":true},"instructionsEnabled":{"type":"boolean","readOnly":false,"nullable":false},"instructionsTitle":{"type":"string","nullable":true,"readOnly":false,"minLength":1,"maxLength":300},"instructionsBody":{"type":"string","nullable":true,"readOnly":false,"minLength":1,"maxLength":25000},"instructionsTimerDurationMs":{"type":"number","nullable":true,"readOnly":false,"minimum":1,"maximum":86400000},"instructionsEnforcedTimer":{"type":"string","readOnly":false,"enum":["afterAudioStarts","immediately"]},"instructionsAudioAutoAdvance":{"type":"string","readOnly":false,"enum":["disabled","afterDefinedTime","immediately"]},"instructionsAudioAutoAdvanceDelayMs":{"type":"number","nullable":true,"readOnly":false,"minimum":0,"maximum":3600000},"instructionsAudioAutoPlay":{"type":"boolean","readOnly":false,"nullable":true},"instructionsDisableAudioControls":{"type":"boolean","readOnly":false,"nullable":true},"markingCreditsPerQuestion":{"type":"number","nullable":true,"readOnly":false,"minimum":0},"markingPartialCreditsPerQuestion":{"type":"number","nullable":true,"readOnly":false,"minimum":0},"markingPenaltiesPerQuestion":{"type":"number","nullable":true,"readOnly":false,"minimum":0},"markingPenaltiesEnabled":{"type":"boolean","nullable":true,"readOnly":false},"grades":{"type":"array","nullable":true,"items":{"type":"object","properties":{"label":{"type":"string","readOnly":false},"minScore":{"type":"number","readOnly":false},"isPass":{"type":"boolean","readOnly":false,"nullable":true},"description":{"type":"string","readOnly":false,"nullable":true},"advancedCriteria":{"type":"object","readOnly":false,"nullable":true,"properties":{"sectionRequirements":{"type":"object","readOnly":false,"nullable":true,"properties":{"type":{"type":"string","enum":["none","requiredCount","allPass","selectedPass"],"readOnly":false,"nullable":true},"count":{"type":"number","readOnly":false,"nullable":true},"sectionIds":{"type":"array","readOnly":false,"nullable":true,"items":{"type":"string","readOnly":false,"nullable":true}}}},"excludeFromResitAttempts":{"type":"boolean","readOnly":false,"nullable":true}}}}}},"allowedModes":{"type":"array","nullable":true,"items":{"type":"string","enum":["practice","exam","timedExam"]},"minItems":1,"maxItems":3},"allowedLengths":{"type":"array","items":{"type":"string","enum":["default","quick","medium","long","extraLong"]}},"allowedPlayers":{"type":"array","items":{"type":"string","enum":["default","ucat","usmle"]}},"allowedTagSets":{"type":"array","nullable":true,"items":{"type":"string"}},"allowedFacets":{"type":"array","nullable":true,"items":{"type":"string","enum":["subject","topic","subtopic","skill","difficulty","context"]}},"calculatorEnabled":{"type":"boolean","readOnly":false},"tagSelectionDisplayMode":{"type":"string","enum":["dropdown","toggle"],"readOnly":false},"allowMultipleTagSelection":{"type":"boolean","readOnly":false},"excludeUntaggedQuestions":{"type":"boolean","readOnly":false},"showMasteryFilters":{"type":"boolean","readOnly":false},"calculatorType":{"type":"string","enum":["basic","scientific"]},"securityDisableCopying":{"type":"boolean","readOnly":false},"securityDisablePasting":{"type":"boolean","readOnly":false},"securityDisableRightClick":{"type":"boolean","readOnly":false},"navigationDisableNavigation":{"type":"boolean","readOnly":false},"navigationDisableControlPanel":{"type":"boolean","readOnly":false},"navigationDisableNotifications":{"type":"boolean","readOnly":false},"softSectionsEnabled":{"type":"boolean","readOnly":false},"notepadEnabled":{"type":"boolean","readOnly":false},"resizableQuestionPanelsEnabled":{"type":"boolean","readOnly":false},"strikethroughEnabled":{"type":"boolean","readOnly":false},"highlightingEnabled":{"type":"boolean","readOnly":false},"bookmarkingEnabled":{"type":"boolean","readOnly":false},"micSettingsEnabled":{"type":"boolean","readOnly":false},"labValuesEnabled":{"type":"boolean","readOnly":false},"labValuesHtml":{"type":"string","readOnly":false},"additionalInformationEnabled":{"type":"boolean","readOnly":false},"additionalInformationTitle":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":120},"additionalInformationIcon":{"type":"string","readOnly":false,"nullable":true},"additionalInformationHtml":{"type":"string","readOnly":false},"ignoreSkippedResponses":{"type":"boolean","readOnly":false},"reviewAndSubmitEnabled":{"type":"boolean","readOnly":false},"saveAndResumeEnabled":{"type":"boolean","readOnly":false},"resumeLaterButtonEnabled":{"type":"boolean","readOnly":false},"flaggingEnabled":{"type":"boolean","readOnly":false},"showAvailableMarks":{"type":"boolean","readOnly":false},"playerType":{"type":"string","enum":["default","ucat","usmle"]},"theme":{"type":"string"},"fontSize":{"type":"string","enum":["xSmall","small","medium","large","xLarge"]},"pinnedMessageDuringTest":{"type":"string","nullable":true,"readOnly":false,"minLength":1,"maxLength":1500},"deferResultsEnabled":{"type":"boolean","readOnly":false},"deferResultsMessage":{"type":"string","readOnly":false,"nullable":true,"minLength":0,"maxLength":25000},"deferResultsAlwaysRelease":{"type":"boolean","readOnly":false},"whenCompleteNoGradesMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000,"deprecated":true},"completedMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000,"deprecated":true},"resultsHideResults":{"type":"boolean","readOnly":false},"resultsGlobalHideScore":{"type":"boolean","readOnly":false},"resultsDetailedViewEnabled":{"type":"boolean","readOnly":false},"resultsOverviewWhenPassedMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsOverviewWhenFailedHasResitsMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsOverviewWhenFailedNoResitsMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsOverviewWhenCompleteNoGradesMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsOverviewWhenCompletedNeutralGradesMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessagePassed":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageFailed":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageResitsRemaining":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageNoResitsRemaining":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageCompleted":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageSettingHideTitle":{"type":"boolean","readOnly":false},"resultsHiddenMessage":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsHiddenSettingHideTitle":{"type":"boolean","readOnly":false},"resultsMetricScoreEnabled":{"type":"boolean","readOnly":false},"resultsMetricTimeSpentEnabled":{"type":"boolean","readOnly":false},"resultsMetricGradeEnabled":{"type":"boolean","readOnly":false},"resultsMetricProgressEnabled":{"type":"boolean","readOnly":false,"deprecated":true,"description":"Use resultsMetricTagProgressEnabled instead"},"resultsMetricQuestionBreakdownDisplayLevel":{"type":"string","enum":["full","hideStemAndOptions","hideCorrectOptions","incorrectOnlyHideCorrectOptions","none"],"readOnly":false},"resultsMetricAnalyticsCohort":{"type":"string","enum":["exam","test","sourceTest"]},"resultsMetricCohortAverageEnabled":{"type":"boolean","readOnly":false},"resultsMetricCohortPercentileEnabled":{"type":"boolean","readOnly":false},"resultsMetricCohortScoreDistributionEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagBreakdownEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagProgressEnabled":{"type":"boolean","readOnly":false},"resultsMetricSectionBreakdownEnabled":{"type":"boolean","readOnly":false},"resultsMetricSectionBreakdownGradeEnabled":{"type":"boolean","readOnly":false},"resultsMetricSectionBreakdownScoreEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagProgressFacetsEnabled":{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"subject":{"type":"boolean","readOnly":false},"topic":{"type":"boolean","readOnly":false},"subtopic":{"type":"boolean","readOnly":false},"skill":{"type":"boolean","readOnly":false},"difficulty":{"type":"boolean","readOnly":false}}},"resultsEducatorViewAsAdminEnabled":{"type":"boolean","readOnly":false},"timerEnabled":{"type":"boolean","readOnly":false},"timerHidden":{"type":"boolean","readOnly":false},"timerUseQuestions":{"type":"boolean","readOnly":false},"timerUseSections":{"type":"boolean","readOnly":false},"timerEnforceFullTime":{"type":"boolean","readOnly":false},"timerTimeInMs":{"type":"number","nullable":true,"readOnly":false,"minimum":1,"maximum":86400000},"timerExtraTimeMultiplier":{"type":"number","readOnly":false,"nullable":true},"timerSoftTimer":{"type":"boolean","readOnly":false},"mutexLockKey":{"type":"string","readOnly":true,"nullable":true},"mutexLockExpiresAt":{"type":"string","readOnly":true,"nullable":true},"mutexLockType":{"type":"string","enum":["write","full",null],"readOnly":true,"nullable":true},"certificatesEnabled":{"type":"boolean","readOnly":false},"certificatesTemplateId":{"type":"string","nullable":true,"readOnly":false},"certificatesQrCode":{"type":"boolean","nullable":true,"readOnly":false},"certificatesTtl":{"type":"number","nullable":true,"readOnly":false},"certificatesIgnoreSubPortalBranding":{"type":"boolean","nullable":true,"readOnly":false},"certificatesIssueOnFail":{"type":"boolean","nullable":true,"readOnly":false},"certificatesResultsPage":{"type":"boolean","nullable":true,"readOnly":false},"certificatesSharingImageUrl":{"type":"string","nullable":true,"readOnly":false},"resitEnabled":{"type":"boolean","nullable":false,"readOnly":false},"resitType":{"type":"string","enum":["continuous","fixedDate","onDemand","rolling",null],"nullable":true,"readOnly":false},"resitMode":{"type":"string","enum":["standard","fixed","progressive","preferUnseen","failedSectionsOnly",null],"readOnly":false,"nullable":true},"resitGradeIndependent":{"type":"boolean","nullable":true,"readOnly":false},"resitAllowedAttempts":{"type":"number","nullable":true,"readOnly":false},"resitDelay":{"type":"number","nullable":true,"readOnly":false},"resitCloseDelay":{"type":"number","nullable":true,"readOnly":false},"resitCloseMode":{"type":"string","enum":["sameAsExam","sameAsPreviousAttempt","delay"],"nullable":true,"readOnly":false},"resitScheduleActivateAt":{"type":"string","nullable":true,"readOnly":false},"resitScheduleDeactivateAt":{"type":"string","nullable":true,"readOnly":false},"proctorEnabled":{"type":"boolean","readOnly":false,"nullable":false},"proctorVendor":{"type":"string","readOnly":false,"enum":["rosalyn","synopticV2",null],"nullable":true},"proctorRequireSecondCamera":{"type":"boolean","readOnly":false,"nullable":true},"proctorRequireFullscreen":{"type":"boolean","readOnly":false,"nullable":false},"proctorRestrictTabs":{"type":"boolean","readOnly":false,"nullable":false},"proctorRestrictDisplays":{"type":"boolean","readOnly":false,"nullable":false},"proctorRecordSession":{"type":"boolean","readOnly":false,"nullable":false},"proctorRecordSnapshots":{"type":"boolean","readOnly":false,"nullable":false},"proctorRecordDesktop":{"type":"boolean","readOnly":false,"nullable":false},"proctorSynopticLevel":{"type":"string","readOnly":false,"nullable":false,"enum":["web","browser","desktop"]},"proctorScreenMonitoring":{"type":"string","readOnly":false,"nullable":false,"enum":["none","recreation","recreationWithSnapshots","video"]},"proctorWebcamMonitoring":{"type":"string","readOnly":false,"nullable":false,"enum":["none","snapshots","audioVideo"]},"proctorRestrictKeyboardShortcuts":{"type":"boolean","readOnly":false,"nullable":false},"proctorScreenshotPrevention":{"type":"boolean","readOnly":false,"nullable":true},"proctorAiReview":{"type":"boolean","readOnly":false,"nullable":false},"proctorLiveAiDetection":{"type":"boolean","readOnly":false,"nullable":false},"proctorAiFlagCandidateLeftFrame":{"type":"boolean","readOnly":false,"nullable":false},"proctorAiFlagMultiplePeopleInFrame":{"type":"boolean","readOnly":false,"nullable":false},"proctorAiPrompts":{"type":"array","readOnly":false,"nullable":true,"maxItems":12,"items":{"type":"object","properties":{"prompt":{"type":"string","readOnly":false},"level":{"type":"string","readOnly":false,"enum":["info","warning","breach"]},"colour":{"type":"string","readOnly":false,"nullable":true},"enabled":{"type":"boolean","readOnly":false,"nullable":true}}}},"proctorOnBreach":{"type":"string","enum":["freeze","silent",null],"readOnly":false,"nullable":true},"proctorReviewOptional":{"type":"boolean","readOnly":false,"nullable":false},"proctorReviewMode":{"type":"string","enum":["always","never","onBreach",null],"readOnly":false,"nullable":true},"proctorLiveProctoring":{"type":"boolean","readOnly":false,"nullable":false},"proctorBlockedApplicationsPolicy":{"type":"string","readOnly":false,"nullable":true,"enum":["none","default",null]},"proctorRoomScanCoverage":{"type":"string","enum":["off","workspace","full",null],"nullable":true},"proctorRoomScanDevice":{"type":"string","enum":["phone","webcam","either",null],"nullable":true},"identityCheckRequired":{"type":"boolean","readOnly":false,"nullable":false},"identityCheckFailureAction":{"type":"string","enum":["flag","block",null],"readOnly":false,"nullable":true},"identityCheckVendor":{"type":"string","enum":["stripe","entrust","internal",null],"readOnly":false,"nullable":true},"identityCheckAutomaticFaceMatch":{"type":"boolean","readOnly":false,"nullable":true,"description":"Internal identity checks only: compare the face on the ID with the candidate's photo automatically, instead of leaving every check for review."},"identityCheckNameComparison":{"type":"boolean","readOnly":false,"nullable":true,"description":"Internal identity checks only: compare the candidate's account name with the name on their ID automatically. Off unless set."},"identityCheckNameAction":{"type":"string","enum":["record","flag","block",null],"readOnly":false,"nullable":true,"description":"Internal identity checks only: what happens when the candidate's account name is not found on their ID. Defaults to flag."},"proctorRosalynRuleUsePrivateTestArea":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleVisibleFace":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowInteractionWithOthers":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowOtherMaterials":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowNoiseMakingDevices":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowAdditionalDevices":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleAllowMouseKeyboardMonitorOnly":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowAppsOrBroswerTabs":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowExamContentSharing":{"type":"boolean","readOnly":false,"nullable":false},"proctorRosalynRuleDoNotAllowTextPrediction":{"type":"boolean","readOnly":false,"nullable":false},"access":{"type":"object","readOnly":true,"properties":{"exam":{"type":"object","properties":{"objectId":{"type":"string","nullable":true}}}}},"legalEnabled":{"type":"boolean","readOnly":false},"legalTitle":{"type":"string","readOnly":false,"nullable":true},"legalBody":{"type":"string","readOnly":false,"nullable":true},"legalCheckboxLabel":{"type":"string","readOnly":false,"nullable":true},"legalConfirmationType":{"type":"string","enum":["checkbox","staticText","candidateName"],"readOnly":false,"nullable":true},"legalConfirmationStaticText":{"type":"string","readOnly":false,"nullable":true},"dynamicVariationEnabled":{"type":"boolean","readOnly":false},"dynamicVariationMaxVariants":{"type":"number","minimum":0,"readOnly":false,"nullable":true},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":true},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true},"scheduleSubmissionDueDate":{"type":"string","readOnly":false,"nullable":true},"scheduleRelativeCloseTimeInMs":{"type":"number","minimum":0,"readOnly":false,"nullable":true},"dynamicFiltersWeightingType":{"type":"string","enum":["absolute","percentage"],"nullable":true,"readOnly":false},"dynamicFilterRules":{"nullable":true,"type":"array","minItems":0,"maxItems":125,"description":"Array of filter rules to apply to the dynamic quiz content.","items":{"type":"object","properties":{"weighting":{"type":"number"},"shuffleQuestions":{"type":"boolean"},"matchingRules":{"type":"array","minItems":0,"maxItems":20,"description":"Array of matching rules to apply to the filter rule. Each rule will be treated as an AND operation. Matching rules can not be a mix of tag and EMQ rules.","items":{"oneOf":[{"anyOf":[{"type":"object","required":["tagId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["tagId"],"properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}}}]},{"anyOf":[{"type":"object","required":["emqGroupId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["emqGroupId"],"properties":{"emqGroupId":{"type":"string","minLength":5,"maxLength":32}}}}]},{"anyOf":[{"type":"object","required":["questionId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["questionId"],"properties":{"questionId":{"type":"string","minLength":5,"maxLength":32}}}}]}]}}}}},"isDynamic":{"type":"boolean","readOnly":true},"isSectioned":{"type":"boolean","readOnly":true},"shuffleDynamicFilters":{"type":"boolean","nullable":true,"description":"If true then the dynamic filters will be shuffled for each attempt."},"shuffleAllDynamicQuestions":{"type":"boolean","nullable":true,"description":"If true then all questions selected accross filter rules will be shuffled. EMQ grouping will be maintained."},"shuffleSectionsEnabled":{"type":"boolean","readOnly":false},"shuffleQuestions":{"type":"string","enum":["disabled","random","enabled"],"readOnly":false,"description":"If true then the questions will be shuffled for each attempt."},"version":{"type":"string","readOnly":true},"status":{"type":"string","enum":["draft","published","cancelled","closed"],"readOnly":false,"nullable":false},"isGenerated":{"type":"boolean","readOnly":true,"nullable":true},"isArchived":{"type":"boolean","readOnly":false},"excludeInformationalQuestionsFromCounts":{"type":"boolean","readOnly":false},"sectionGradesEnabled":{"type":"boolean","readOnly":false},"advancedGradingEnabled":{"type":"boolean","readOnly":false},"passFailEnabled":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"questions":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizQuestion","QuizQuestionAudioRecording","QuizQuestionVideoRecording","QuizQuestionFileUpload","QuizQuestionSingleCorrect","QuizQuestionMultipleCorrect","QuizQuestionRanked","QuizQuestionFreeText","QuizQuestionInformational","QuizQuestionClozeDragAndDrop","QuizQuestionClozeDropDown","QuizQuestionClozeText","QuizQuestionShortAnswer","QuizQuestionSpreadsheet","QuizQuestionImageHotspot","QuizQuestionOffPlatform","QuizQuestionFlashcard","QuizQuestionTrueOrFalse","QuizQuestionDrawing","QuizQuestionMatching","QuizQuestionImageLabellingDragAndDrop","QuizQuestionImageLabellingDropDown","QuizQuestionImageLabellingText","QuizQuestionClassification","QuizQuestionChoiceMatrix","QuizQuestionTextSelection","QuizQuestionCoding","QuizQuestionBowTie","QuizQuestionLikert","QuizQuestionNumericAnswer"]}]}}}}}},"emqGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizEmqGroup"]}]}}}}}},"sections":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["QuizSection"]}]}}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"instructionsAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"sourceContentQuizzes":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Quiz"]}]}}}}}},"sourceSettingsQuiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"tagSet":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]}}}}},"setupValidation":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizSetupValidation"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ScormCourse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ScormCourse"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string"},"fileName":{"type":"string","readOnly":true},"shortDescription":{"type":"string"},"description":{"type":"string"},"importState":{"type":"string","enum":["pending","completed","failed"],"readOnly":true},"settingsDisplayMode":{"type":"string","enum":["newWindow","embedded"],"readOnly":false},"isArchived":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"scormFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"Survey":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Survey"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":false},"description":{"type":"string","readOnly":false},"shortDescription":{"type":"string","readOnly":false},"selfAssessment":{"type":"object","readOnly":true,"additionalProperties":true,"deprecated":true,"description":"Only used by legacy client custom code."},"totalItems":{"type":"number","readOnly":true},"isLibraryItem":{"type":"boolean","readOnly":true},"isArchived":{"type":"boolean","readOnly":false},"extraInformation":{"type":"object","properties":{"subAction":{"type":"string","readOnly":false}},"readOnly":false,"description":"Additional information about the survey, such as metadata."}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"pages":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["SurveyPage"]}]}}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"Collection":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false,"nullable":false,"minLength":1},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"settings":{"type":"object","deprecated":true,"properties":{"takeTest":{"type":"object","additionalProperties":true},"playerView":{"type":"object","properties":{"enabled":{"type":"boolean"},"hideOverviewPage":{"type":"boolean"}}},"trackedProgress":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"annotations":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"export":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"generatedAttempts":{"type":"object","properties":{"enabled":{"type":"boolean"}}},"mocks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string","nullable":true},"filters":{"type":"object","additionalProperties":true},"quizLength":{"type":"number","minimum":1},"passScore":{"type":"number","minimum":0,"maximum":100,"nullable":true},"examSittingAttrs":{"type":"object","additionalProperties":true}}}},"restrictedAccess":{"type":"object","properties":{"label":{"type":"string"}}},"sorting":{"type":"object","properties":{"prioritise":{"type":"boolean"}}}}},"attr":{"type":"object","readOnly":false,"nullable":true},"extraInformation":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"isArchived":{"type":"boolean","readOnly":false,"nullable":true},"generatedAttemptsEnabled":{"type":"boolean","readOnly":false},"mocks":{"type":"array","nullable":true,"items":{"type":"object","required":["id","filters","quizLength"],"properties":{"id":{"type":"string"},"title":{"type":"string","nullable":true,"minLength":1,"maxLength":120},"filters":{"type":"object","additionalProperties":true,"properties":{"weightingType":{"type":"string","enum":["absolute","percentage"]},"filterRules":{"type":"array","minItems":0,"maxItems":125,"description":"Array of filter rules to apply to the dynamic quiz content.","items":{"type":"object","properties":{"weighting":{"type":"number"},"matchingRules":{"type":"array","minItems":0,"maxItems":20,"description":"Array of matching rules to apply to the filter rule. Each rule will be treated as an AND operation. Matching rules can not be a mix of tag and EMQ rules.","items":{"anyOf":[{"type":"object","required":["tagId"],"description":"A single filter rule to be applied as part of an AND operation","properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}},{"type":"array","minItems":1,"maxItems":150,"description":"An array of OR filter rules to be applied as part of a single operation or AND operation","items":{"type":"object","required":["tagId"],"properties":{"tagId":{"type":"string","minLength":5,"maxLength":32},"exclude":{"type":"boolean"}}}}]}}}}}}},"quizLength":{"type":"number","minimum":1},"passScore":{"type":"integer","minimum":0,"maximum":100,"nullable":true},"examSittingAttrs":{"type":"object","nullable":true,"additionalProperties":true},"timeInMs":{"type":"number","nullable":true,"minimum":1}}}},"annotationsEnabled":{"type":"boolean","readOnly":false},"exportEnabled":{"type":"boolean","readOnly":false},"playerViewEnabled":{"type":"boolean","readOnly":false},"playerViewHideOverviewPage":{"type":"boolean","readOnly":false},"restrictedAccessLabel":{"type":"string","readOnly":false,"nullable":true},"sortingPrioritise":{"type":"boolean","readOnly":false},"takeTestSettings":{"type":"object","nullable":true,"additionalProperties":true,"deprecated":true,"description":"deprecated, use top level setting fields instead"},"allowedModes":{"type":"array","nullable":true,"items":{"type":"string","enum":["practice","exam","timedExam"]},"minItems":1,"maxItems":3},"allowedLengths":{"type":"array","items":{"type":"string","enum":["default","quick","medium","long","extraLong"]}},"allowedPlayers":{"type":"array","items":{"type":"string","enum":["default","ucat","usmle"]}},"allowedTagSets":{"type":"array","nullable":true,"items":{"type":"string"}},"allowedFacets":{"type":"array","nullable":true,"items":{"type":"string","enum":["subject","topic","subtopic","skill","difficulty","context"]}},"calculatorEnabled":{"type":"boolean","readOnly":false},"tagSelectionDisplayMode":{"type":"string","enum":["dropdown","toggle"],"readOnly":false},"allowMultipleTagSelection":{"type":"boolean","readOnly":false},"excludeUntaggedQuestions":{"type":"boolean","readOnly":false},"showMasteryFilters":{"type":"boolean","readOnly":false},"calculatorType":{"type":"string","enum":["basic","scientific"]},"notepadEnabled":{"type":"boolean","readOnly":false},"strikethroughEnabled":{"type":"boolean","readOnly":false},"highlightingEnabled":{"type":"boolean","readOnly":false},"bookmarkingEnabled":{"type":"boolean","readOnly":false},"labValuesEnabled":{"type":"boolean","readOnly":false},"labValuesHtml":{"type":"string","readOnly":false},"ignoreSkippedResponses":{"type":"boolean","readOnly":false},"reviewAndSubmitEnabled":{"type":"boolean","readOnly":false},"saveAndResumeEnabled":{"type":"boolean","readOnly":false},"flaggingEnabled":{"type":"boolean","readOnly":false},"resultsMessageCompleted":{"type":"string","nullable":true,"readOnly":false,"maxLength":25000},"resultsMessageSettingHideTitle":{"type":"boolean","readOnly":false},"resultsMetricScoreEnabled":{"type":"boolean","readOnly":false},"resultsMetricTimeSpentEnabled":{"type":"boolean","readOnly":false},"resultsMetricGradeEnabled":{"type":"boolean","readOnly":false},"resultsMetricQuestionBreakdownDisplayLevel":{"type":"string","enum":["full","hideStemAndOptions","hideCorrectOptions","incorrectOnlyHideCorrectOptions","none"],"readOnly":false},"resultsMetricAnalyticsCohort":{"type":"string","enum":["exam","test","sourceTest"]},"resultsMetricCohortAverageEnabled":{"type":"boolean","readOnly":false},"resultsMetricCohortPercentileEnabled":{"type":"boolean","readOnly":false},"resultsMetricCohortScoreDistributionEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagBreakdownEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagProgressEnabled":{"type":"boolean","readOnly":false},"resultsMetricTagProgressFacetsEnabled":{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"subject":{"type":"boolean","readOnly":false},"topic":{"type":"boolean","readOnly":false},"subtopic":{"type":"boolean","readOnly":false},"skill":{"type":"boolean","readOnly":false},"difficulty":{"type":"boolean","readOnly":false}}},"resultsEducatorViewAsAdminEnabled":{"type":"boolean","readOnly":false},"trackedProgressEnabled":{"type":"boolean","readOnly":false},"accessLevel":{"type":"string","enum":["editor","none","full","restricted"],"readOnly":true},"totalItems":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionItem","CollectionItemAudio","CollectionItemDocument","CollectionItemEmbed","CollectionItemNote","CollectionItemQuiz","CollectionItemVideo","CollectionItemZip"]}]}}}}}},"lockedItems":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionItem","CollectionItemAudio","CollectionItemDocument","CollectionItemEmbed","CollectionItemNote","CollectionItemQuiz","CollectionItemVideo","CollectionItemZip"]}]}}}}}},"folders":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionFolder"]}]}}}}}},"icon":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"collectionAccess":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["CollectionAccess"]}]}}}}}},"instructionsAudio":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"CollectionItemQuiz":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionItemQuiz"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":false,"nullable":false},"description":{"type":"string","readOnly":false,"nullable":true},"shortDescription":{"type":"string","readOnly":false,"nullable":true},"customLabel":{"type":"string","readOnly":false,"nullable":true},"type":{"type":"string","readOnly":true,"enum":["quiz"]},"releaseStatus":{"type":"string","enum":["available","previewOnly"],"readOnly":false,"nullable":false},"studyEnabled":{"type":"boolean","readOnly":false,"nullable":false},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"scheduleOpenDate":{"type":"string","readOnly":false,"nullable":false,"format":"date-time"},"scheduleCloseDate":{"type":"string","readOnly":false,"nullable":true,"format":"date-time"},"status":{"type":"string","enum":["draft","scheduled","active","completed","cancelled"],"readOnly":true,"nullable":false},"totalQuestions":{"type":"number","readOnly":true}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"folder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionFolder"]}}}}},"subFolder":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["CollectionSubFolder"]}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"quizAttemptSetupConfig":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["QuizAttemptSetupConfig"]}}}}}}}}}}}}
```

## The SessionContext object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SessionContext":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SessionContext"]},"attributes":{"type":"object","properties":{"locale":{"type":"string","readOnly":true,"description":"Short-form language code. The current users language preference"},"caslPolicies":{"type":"array","items":{"type":"array","items":{"type":"object","readOnly":true,"properties":{"group":{"type":"string"},"subject":{"type":"string"},"version":{"type":"integer"},"action":{"oneOf":[{"type":"string","enum":["create","read","update","delete","execute","manage"]},{"type":"array","items":{"type":"string","enum":["create","read","update","delete","execute","manage"]}}]},"actions":{"oneOf":[{"type":"string","enum":["create","read","update","delete","execute","manage"]},{"type":"array","items":{"type":"string","enum":["create","read","update","delete","execute","manage"]}}]},"inverted":{"type":"boolean"},"fields":{"type":"array","items":{"type":"string"}},"conditions":{"type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"object","properties":{"$eq":{"oneOf":[{"type":"string"},{"type":"boolean"}]},"$ne":{"oneOf":[{"type":"string"},{"type":"boolean"}]},"$in":{"type":"array","items":{}}}}]}}}}},"readOnly":true},"isPortalOwner":{"type":"boolean","readOnly":true,"description":"Whether the current user is the owner of the portal."},"intercomHash":{"type":"string","readOnly":true,"description":"Hash used to identify the user in Intercom."},"gitbookToken":{"type":"string","readOnly":true,"description":"Signed JWT identifying the user to the embedded GitBook docs. Only issued for staff user types."},"apiHostname":{"type":"string","readOnly":true,"description":"[Deprecated: use  regionalApiUrl] Region specific API hostname.","deprecated":true},"region":{"type":"string","readOnly":true,"description":"Data hosting region of the organisation."},"regionalApiUrl":{"type":"string","readOnly":true,"description":"Region specific API endpoint."},"shouldPromptPasskeyEnrolment":{"type":"boolean","readOnly":true,"nullable":true,"description":"True when the user should be offered passkey enrolment after login. Dismissible via /v3/passkey-enrolment-deferrals."},"scope":{"type":"object","readOnly":true,"nullable":true,"description":"Restricts the session to a single resource. Set for email-less code-login sessions, binding the session to one exam attempt.","required":["type","id","expiresAt"],"properties":{"type":{"type":"string","enum":["attempt-code-login"]},"id":{"type":"string"},"expiresAt":{"type":"string","description":"ISO date the scoped session expires."}}}}},"relationships":{"type":"object","properties":{"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"userType":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserType"]}}}}},"studyType":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserType"]}}}}},"pinnedNotes":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Note"]}]}}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The StoreOffer object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"StoreOffer":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["StoreOffer"]},"attributes":{"type":"object","properties":{"title":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true},"externalId":{"type":"string","readOnly":true},"offerItems":{"type":"array","readOnly":true,"items":{"type":"object","properties":{"type":{"type":"string","enum":["product"]},"targetId":{"type":"string"},"productIdentifier":{"type":"string"}}}},"offerSettings":{"type":"object","readOnly":true,"properties":{"selectionType":{"type":"string","enum":["all","selectOne"],"readOnly":true},"maxRedemptionsPerUser":{"type":"number","readOnly":true},"promoCodePrefix":{"type":"string","readOnly":true},"accessInstructions":{"type":"object","properties":{"accessUntilDate":{"type":"string","format":"date-time","readOnly":true}}},"conflictHandling":{"type":"object","properties":{"disableIfClaimed":{"type":"array","items":{"type":"string"},"readOnly":true}}}}}}},"relationships":{"type":"object","properties":{"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The StripeConnectSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"StripeConnectSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["StripeConnectSession"]},"attributes":{"type":"object","properties":{"returnPath":{"type":"string","readOnly":true,"description":"Relative path on the portal to send the admin back to once Stripe has finished. Defaults to the integrations settings page."},"authoriseUrl":{"type":"string","readOnly":true,"description":"The Stripe page the admin must visit to connect their Stripe account."}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Study object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Study":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Study"]},"attributes":{"type":"object","properties":{"totalStudyItems":{"type":"number","readOnly":true},"totalQuestions":{"type":"number","readOnly":true},"totalAnsweredQuestions":{"type":"number","readOnly":true},"knowledgeCoverage":{"type":"number","readOnly":true},"competencyScore":{"type":"number","readOnly":true},"masteryLevel":{"type":"string","readOnly":true,"enum":["unseen","weak","moderate","strong","mastered",null],"nullable":true},"studyItemOverviews":{"type":"array","nullable":true,"readOnly":true,"items":{"type":"object","properties":{"studyItemId":{"type":"string"},"type":{"type":"string"},"objectData":{"type":"object","properties":{"className":{"type":"string"},"id":{"type":"string"},"label":{"type":"string"},"slug":{"type":"string","nullable":true},"imageUrl":{"type":"string","nullable":true}}},"isAttempted":{"type":"boolean"},"totalQuestions":{"type":"number"},"totalAnsweredQuestions":{"type":"number"},"knowledgeCoverage":{"type":"number"},"competencyScore":{"type":"number"},"masteryLevel":{"type":"string","enum":["unseen","weak","moderate","strong","mastered"]},"masteryDivisions":{"type":"array","nullable":true,"readOnly":true,"items":{"type":"object","properties":{"level":{"type":"string","enum":["unseen","weak","moderate","strong","mastered"]},"label":{"type":"string","minLength":0},"totalQuestions":{"type":"number","minimum":0},"percentageOfTotal":{"type":"number","minimum":0,"maximum":100}}}}}}},"masteryDivisions":{"type":"array","nullable":true,"readOnly":true,"items":{"type":"object","properties":{"level":{"type":"string","enum":["unseen","weak","moderate","strong","mastered"]},"label":{"type":"string","minLength":0},"totalQuestions":{"type":"number","minimum":0},"percentageOfTotal":{"type":"number","minimum":0,"maximum":100}}}},"studyOverviewUpdatedAt":{"type":"string","readOnly":true,"format":"date-time"},"selfPracticeSetupQuizMode":{"type":"string","readOnly":false,"enum":["practice","exam","timedExam","test"]},"selfPracticeSetupMaxQuestions":{"type":"number","readOnly":false,"minimum":0,"maximum":300},"selfPracticeSetupMasteryLevels":{"type":"array","readOnly":false,"items":{"type":"string","enum":["unseen","weak","moderate","strong","mastered"]}},"selfPracticeSetupTagSetId":{"type":"string","readOnly":false,"nullable":true},"selfPracticeSetupRandomise":{"type":"boolean","readOnly":false},"selfPracticeSetupTagFilters":{"type":"object","readOnly":false,"nullable":true},"spacedLearningIntensityLevel":{"type":"number","readOnly":false,"enum":["Low","Moderate","High",1,2,3],"nullable":false},"spacedLearningNextDue":{"type":"string","readOnly":true,"format":"date-time"},"spacedLearningMissedStreak":{"type":"number","readOnly":true},"spacedLearningLatestTestCreatedAt":{"type":"string","readOnly":true,"format":"date-time"},"spacedLearningStateIsActive":{"type":"boolean","readOnly":false},"spacedLearningStateWaiting":{"type":"boolean","readOnly":true,"nullable":true},"spacedLearningStateTestReady":{"type":"boolean","readOnly":true,"nullable":true},"spacedLearningStateHasAttempt":{"type":"boolean","readOnly":true,"nullable":true},"spacedLearningStateStatusMessage":{"type":"string","readOnly":true,"nullable":true}}},"relationships":{"type":"object","properties":{"latestQuiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"latestAttempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["StudyItem"]}]}}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The StudyItem object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"StudyItem":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["StudyItem"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"quiz":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Quiz"]}}}}},"collection":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Collection"]}}}}},"study":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Study"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SubPortal object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SubPortal":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":false,"minLength":1},"brandPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"brandSecondary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"fontLinkColour":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"buttonColourPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"buttonColourSecondary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"buttonTextColourPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"buttonTextColourSecondary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"chartColourPrimary":{"oneOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},{"type":"string","enum":["{brand.primary}","{brand.secondary}","white","black","whitesmoke"],"readOnly":false,"nullable":true}]},"defaultCardImageUrl":{"type":"string","readOnly":false,"nullable":true},"headerLogoUrl":{"type":"string","readOnly":false,"nullable":true},"squareLogoUrl":{"type":"string","readOnly":false,"nullable":true},"faviconUrl":{"type":"string","readOnly":false,"nullable":true},"affiliationTwitterUrl":{"type":"string","readOnly":false,"nullable":true},"affiliationFacebookUrl":{"type":"string","readOnly":false,"nullable":true},"affiliationLinkedInUrl":{"type":"string","readOnly":false,"nullable":true},"affiliationYoutubeUrl":{"type":"string","readOnly":false,"nullable":true},"subdomain":{"type":"string","readOnly":false,"nullable":true},"hostname":{"type":"string","readOnly":true,"nullable":true},"useCustomSubPortalDomain":{"type":"boolean","readOnly":false,"description":"When true, the hostname uses the portal `subPortalDomain` suffix instead of the portal hostname (requires `subPortalDomain` to be set on the portal)."},"registrationBackgroundImageUrl":{"type":"string","readOnly":false,"nullable":true},"registrationHeaderBackgroundColor":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},"registrationHeaderBorderBottomColor":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}){1,2}([0-9]{0,2})$","readOnly":false,"nullable":true},"registrationPageTitle":{"type":"string","readOnly":false,"nullable":true},"registrationPageDescription":{"type":"string","readOnly":false,"nullable":true},"registrationRegisterMethod":{"type":"string","enum":["open","closed",null],"readOnly":false,"nullable":true,"description":"Registration sign-up method for this sub-portal. When null, the portal-level registration method is used as a fallback."},"emailSettingsFromName":{"type":"string","nullable":true,"readOnly":false},"emailSettingsFromEmail":{"type":"string","format":"email","nullable":true,"readOnly":false},"emailSettingsFooterText":{"type":"string","nullable":true,"readOnly":false},"emailSettingsHeaderLogoUrl":{"type":"string","format":"uri","nullable":true,"readOnly":false},"emailSettingsWelcomeEmailSubject":{"type":"string","nullable":true,"readOnly":false},"emailSettingsWelcomeEmailBody":{"type":"string","nullable":true,"readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Subscription object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Subscription":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Subscription"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["chargebeeSubscription","stripeSubscription","stripeOrder","free","manual"],"readOnly":true},"isActive":{"type":"boolean","readOnly":true},"inTrial":{"type":"boolean","readOnly":true},"trialEndDate":{"type":"string","format":"date-time","nullable":true,"readOnly":true},"trialDaysLeft":{"type":"integer","nullable":true,"readOnly":true,"description":"Number of days remaining in trial period"},"isTrialUpgradable":{"type":"boolean","readOnly":true,"description":"Indicates if the trial subscription should prompt for upgrade"},"isTrialCheckoutEnabled":{"type":"boolean","readOnly":true,"description":"Indicates if trial checkout is enabled"},"startDate":{"type":"string","format":"date-time","nullable":true,"readOnly":true},"endDate":{"type":"string","format":"date-time","nullable":true,"readOnly":true},"currentBillingPeriodStart":{"type":"string","format":"date-time","nullable":true,"readOnly":true},"currentBillingPeriodEnd":{"type":"string","format":"date-time","nullable":true,"readOnly":true},"nextInvoiceDate":{"type":"string","format":"date-time","nullable":true,"readOnly":true},"isBillingPortalEnabled":{"type":"boolean","readOnly":true,"description":"Indicates if the billing portal is available for this subscription"},"customerFirstName":{"type":"string","nullable":true,"readOnly":true},"customerLastName":{"type":"string","nullable":true,"readOnly":true},"customerCardState":{"type":"string","enum":["expired","expiring","noCard","valid"],"nullable":true,"readOnly":true},"customerPreferredCurrencyCode":{"type":"string","nullable":true,"readOnly":true},"customerCardType":{"type":"string","nullable":true,"readOnly":true},"customerCardLastFour":{"type":"string","nullable":true,"readOnly":true},"customerCardExpiryMonth":{"type":"integer","nullable":true,"readOnly":true},"customerCardExpiryYear":{"type":"integer","nullable":true,"readOnly":true},"planName":{"type":"string","nullable":true,"readOnly":true},"planAmount":{"type":"number","nullable":true,"readOnly":true},"planPriceTag":{"type":"string","nullable":true,"readOnly":true},"planIsFree":{"type":"boolean","nullable":true,"readOnly":true},"planImageUrl":{"type":"string","nullable":true,"readOnly":true}}},"relationships":{"type":"object","properties":{"product":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Product"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Survey object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Survey":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Survey"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":false},"description":{"type":"string","readOnly":false},"shortDescription":{"type":"string","readOnly":false},"selfAssessment":{"type":"object","readOnly":true,"additionalProperties":true,"deprecated":true,"description":"Only used by legacy client custom code."},"totalItems":{"type":"number","readOnly":true},"isLibraryItem":{"type":"boolean","readOnly":true},"isArchived":{"type":"boolean","readOnly":false},"extraInformation":{"type":"object","properties":{"subAction":{"type":"string","readOnly":false}},"readOnly":false,"description":"Additional information about the survey, such as metadata."}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"pages":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["SurveyPage"]}]}}}}}},"collaboratingUsers":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["User"]}]}}}}}},"collaboratingUserGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The SurveyItem object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SurveyItem":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SurveyItem"]},"attributes":{"type":"object","properties":{"type":{"type":"string","enum":["boolean","date","likert","multiChoice","multiText","singleChoice","text","upload"],"readOnly":true},"question":{"type":"string","description":"The question or prompt for the survey item.","minLength":1,"nullable":false},"options":{"type":"array","items":{"required":["value"],"properties":{"label":{"anyOf":[{"type":"string","minLength":1,"nullable":true},{"type":"number","nullable":true}],"description":"The label for the survey item option."},"value":{"anyOf":[{"type":"string","minLength":1},{"type":"number"},{"type":"boolean"}],"description":"The value associated with the survey item option."}}},"description":"The options available for the survey item.","minItems":0,"uniqueItems":true,"nullable":true},"isRequired":{"type":"boolean","readOnly":false},"isHidden":{"type":"boolean","readOnly":false,"deprecated":true,"description":"This field is deprecated and should not be used."},"isReadOnly":{"type":"boolean","readOnly":false,"deprecated":true,"description":"This field is deprecated and should not be used. It is only used with SelfAssessment."},"defaultValue":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}],"readOnly":false}}},"relationships":{"type":"object","properties":{"page":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SurveyPage"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SurveyPage object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SurveyPage":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SurveyPage"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","description":"The title of the survey page.","nullable":true},"description":{"type":"string","nullable":true,"description":"The description of the survey page. This can be used to provide additional context or instructions for the survey participants."},"primaryColor":{"type":"string","nullable":true,"description":"The primary colour used in the survey page. This can be used to customize the appearance of the survey to match branding or design guidelines."},"resultDescription":{"type":"string","nullable":true,"description":"The description of the survey results, providing insights or summaries for the participants."},"headerImageUrl":{"type":"string","nullable":true,"format":"uri","description":"The URL of the header image for the survey page. This image is displayed at the top of the survey page to enhance visual appeal."}}},"relationships":{"type":"object","additionalProperties":false,"properties":{"survey":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Survey"]}}}}},"items":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":true,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["SurveyItem"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The SurveyResponse object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SurveyResponse":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SurveyResponse"]},"attributes":{"type":"object","properties":{"responseData":{"type":"object","readOnly":false},"selfAssessmentOutcome":{"type":"object","readOnly":true,"deprecated":true}}},"relationships":{"type":"object","properties":{"survey":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Survey"]}}}}},"assignmentItem":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AssignmentItemSurvey"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SynopticAiReview object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SynopticAiReview":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticAiReview"]},"attributes":{"type":"object","properties":{"analysisStatus":{"type":"string","enum":["pending","inProgress","completed","error"],"readOnly":true},"analysisProgress":{"type":"number","readOnly":true},"fps":{"type":"number","readOnly":true},"width":{"type":"number","readOnly":true},"height":{"type":"number","readOnly":true},"frameCount":{"type":"number","readOnly":true},"prompts":{"type":"array","readOnly":true,"items":{"type":"object","properties":{"prompt":{"type":"string"},"slug":{"type":"string"},"colour":{"type":"array","items":{"type":"number"}},"presence":{"type":"object","properties":{"framesPresent":{"type":"number"},"totalDurationS":{"type":"number"},"coverageRatio":{"type":"number"},"intervals":{"type":"array","items":{"type":"object","properties":{"startFrame":{"type":"number"},"endFrame":{"type":"number"},"startS":{"type":"number"},"endS":{"type":"number"},"durationS":{"type":"number"}}}}}}}}}}},"relationships":{"type":"object","properties":{"session":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticSession"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SynopticCapture object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SynopticCapture":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticCapture"]},"attributes":{"type":"object","properties":{"source":{"type":"string","readOnly":true},"timestamp":{"type":"string","readOnly":true},"createdAt":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"session":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticSession"]}}}}},"file":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SynopticDomRecording object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SynopticDomRecording":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticDomRecording"]},"attributes":{"type":"object","properties":{"data":{"type":"string","readOnly":true},"timestamp":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"session":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticSession"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SynopticEventLog object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SynopticEventLog":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticEventLog"]},"attributes":{"type":"object","properties":{"type":{"type":"string","readOnly":true},"action":{"type":"string","readOnly":true},"message":{"type":"string","readOnly":true},"questionData":{"readOnly":true,"type":"object","properties":{"questionId":{"readOnly":true,"type":"string"},"questionDoi":{"readOnly":true,"type":"string"},"sectionId":{"readOnly":true,"type":"string"},"sectionDoi":{"readOnly":true,"type":"string"}}},"timestamp":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"session":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticSession"]}}}}},"sender":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SynopticSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SynopticSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticSession"]},"attributes":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"token":{"type":"string","readOnly":true},"status":{"type":"string","enum":["pending","active","closed","completed","disabled"]},"peerConnectionStatus":{"type":"string","enum":["new","connecting","connected","disconnected","failed","closed"]},"processingStatus":{"type":"string","enum":["pending","pendingAi","inProgress","completed","error"]},"processingProgress":{"type":"number","readOnly":true,"minimum":0,"maximum":100},"analysisStatus":{"type":"string","enum":["pending","inProgress","completed","error"]},"aiProgress":{"type":"number","readOnly":true,"minimum":0,"maximum":100},"aiCost":{"type":"number","readOnly":true},"aiEstimatedCompletionDate":{"type":"string","format":"date-time","readOnly":true},"synopticLevel":{"type":"string","enum":["web","browser","desktop"]},"screenMonitoring":{"type":"string","enum":["none","recreation","recreationWithSnapshots","video"]},"webcamMonitoring":{"type":"string","enum":["none","snapshots","audioVideo"]},"keyboardShortcutsEnabled":{"type":"boolean"},"screenshotPrevention":{"type":"boolean"},"aiReview":{"type":"boolean"},"aiFlagCandidateLeftFrame":{"type":"boolean"},"aiFlagMultiplePeopleInFrame":{"type":"boolean"},"aiPrompts":{"type":"array","items":{"type":"object","properties":{"prompt":{"type":"string"},"level":{"type":"string","enum":["info","warning","breach"]},"colour":{"type":"string","nullable":true},"enabled":{"type":"boolean","nullable":true}}}},"onBreach":{"type":"string","enum":["freeze","silent"],"nullable":true},"liveProctoring":{"type":"boolean"},"secondCameraEnabled":{"type":"boolean","readOnly":true},"secondCameraRecordingStartedAt":{"type":"string","format":"date-time","readOnly":true},"secondCameraProcessingStatus":{"type":"string","enum":["pending","inProgress","completed","error"],"readOnly":true},"recordingStartedAt":{"type":"string","format":"date-time","readOnly":true},"domRecordingChunkCount":{"type":"number","readOnly":true,"description":"Number of recording chunks collated into domRecordingFile. Present only when the include is requested."}}},"relationships":{"type":"object","properties":{"attempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}},"candidate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"desktopFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"secondCameraFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"avFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"maskFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"avPeaksFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"legacyDomRecordingFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}},"domRecordingFile":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The SynopticWatchToken object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"SynopticWatchToken":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticWatchToken"]},"attributes":{"type":"object","properties":{"jwt":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"session":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SynopticSession"]}}}}},"iceCandidate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["IceCandidate"]}}}}},"candidate":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Tag object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Tag":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Tag"]},"attributes":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":500,"readOnly":false},"facet":{"type":"string","enum":["exam","module","subject","topic","subtopic","difficulty","skill","context",null],"nullable":true,"readOnly":false},"feedback":{"type":"string","readOnly":false,"nullable":true,"minLength":1,"maxLength":100000},"isVisibleToStudents":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"tagSet":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The TagSet object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"TagSet":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TagSet"]},"attributes":{"type":"object","properties":{"label":{"type":"string","readOnly":false,"nullable":false,"minLength":1,"maxLength":300}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"tags":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Tag"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The Template object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Template":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Template"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","description":"Up to 120 characters. It can be changed on a managed template, and not on a legacy one."},"htmlTemplate":{"type":"string","readOnly":true,"description":"The complete document of a legacy template. A managed template does not send it."},"isDefault":{"type":"boolean","readOnly":true,"description":"Whether this is one of the built in templates."},"orientation":{"type":"string","enum":["landscape","portrait"],"readOnly":true,"description":"The orientation certificates are issued in. It is set when a managed template is created, and changed by putting orientation in the draft and publishing the template."},"preview":{"type":"object","readOnly":true,"properties":{"svg":{"type":"string"},"image":{"type":"string"}}},"usage":{"type":"string","enum":["exam","assignment"],"readOnly":true,"description":"What the template is issued for. A template stored without a usage is reported as an exam template. It cannot change once a managed template exists."},"kind":{"type":"string","enum":["legacy","managed"],"readOnly":true,"description":"Managed templates are edited here. Legacy templates are written by Synap and cannot be edited, published or deleted here."},"status":{"type":"string","enum":["draft","published"],"readOnly":true,"description":"Draft until the first publish. Legacy templates are always published."},"hasUnpublishedChanges":{"type":"boolean","readOnly":true,"description":"Whether the draft differs from the published parts or stages a different orientation from the one being issued, or nothing has been published yet."},"shellVersion":{"type":"integer","nullable":true,"readOnly":true,"description":"The version of the Synap-owned shell the published parts were compiled with."},"parts":{"type":"object","required":["body","css"],"additionalProperties":false,"description":"The published parts. Managed templates only.","properties":{"body":{"type":"string","maxLength":200000,"description":"An HTML fragment that may contain Go template actions."},"css":{"type":"string","maxLength":200000,"description":"CSS, scoped to the content box when compiled."},"contentInset":{"type":"integer","minimum":0,"maximum":30,"default":10,"description":"Safe area inside the A4 sheet, in millimetres. Defaults to 10."},"background":{"type":"object","nullable":true,"required":["url","fit"],"additionalProperties":false,"description":"The image that fills the whole page behind the content. It can only be set here, as the style of the template cannot reach it. Null or left out for no background. The url has to be the address of an image uploaded to this template, and publishing or previewing refuses any address of another place.","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"The url of an image uploaded to this template."},"fit":{"type":"string","enum":["cover","contain","stretch"],"description":"How the image fills the page. Cover scales it until it covers the page and crops what does not fit, contain scales it until all of it fits in the page, and stretch fills the page whatever the proportions of the image."}}}},"nullable":true,"readOnly":true},"draft":{"type":"object","required":["body","css"],"additionalProperties":false,"description":"The parts being edited, with the orientation they will be published with, not yet published. Replaced as a whole when sent. Managed templates only.","properties":{"body":{"type":"string","maxLength":200000,"description":"An HTML fragment that may contain Go template actions."},"css":{"type":"string","maxLength":200000,"description":"CSS, scoped to the content box when compiled."},"contentInset":{"type":"integer","minimum":0,"maximum":30,"default":10,"description":"Safe area inside the A4 sheet, in millimetres. Defaults to 10."},"background":{"type":"object","nullable":true,"required":["url","fit"],"additionalProperties":false,"description":"The image that fills the whole page behind the content. It can only be set here, as the style of the template cannot reach it. Null or left out for no background. The url has to be the address of an image uploaded to this template, and publishing or previewing refuses any address of another place.","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"The url of an image uploaded to this template."},"fit":{"type":"string","enum":["cover","contain","stretch"],"description":"How the image fills the page. Cover scales it until it covers the page and crops what does not fit, contain scales it until all of it fits in the page, and stretch fills the page whatever the proportions of the image."}}},"orientation":{"type":"string","enum":["landscape","portrait"],"description":"The orientation the template is issued in once this draft is published. When a request leaves it out, the orientation already staged in the draft is kept, or the orientation being issued when nothing is staged."}},"nullable":true},"isArchived":{"type":"boolean","readOnly":false,"description":"Whether the template has been archived. Archived templates are listed only when asked for, cannot be chosen for new settings and cannot be edited until they are unarchived. Send true to archive a published template and false to unarchive it, on its own, as an admin of the main portal. Sending the value it already has changes nothing. Legacy templates are never archived."},"availableToSubPortals":{"type":"boolean","nullable":true,"description":"Whether sub-portals may use this template. Only a template that is not limited to a sub-portal has it: true unless it was set to false, and false means only the main portal may choose it for its exams and assignments, and the people of a sub-portal neither see it listed nor find it. Null for a template limited to a sub-portal and for a legacy template. It can be changed whenever the template is not archived, and only affects what is chosen from then on."},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true}}},"relationships":{"type":"object","properties":{"subPortal":{"type":"object","description":"The sub-portal this template is limited to, which must belong to the portal of the requester. Empty for a template of the whole portal. It can only be set when the template is created. Only the people of that sub-portal and of the main portal see a template limited to a sub-portal.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The TemplateAsset object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"TemplateAsset":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TemplateAsset"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string","enum":["pending","ready","rejected"],"readOnly":true,"description":"Pending until the file has been checked by completing the asset, ready when it was accepted, rejected when it was refused. Only a ready asset can be used in a template."},"filename":{"type":"string","readOnly":true,"description":"The name of the file as it was uploaded, without control characters and up to 120 characters."},"contentType":{"type":"string","enum":["image/png","image/jpeg","image/webp","image/svg+xml","font/woff2","font/woff","font/ttf","font/otf"],"readOnly":true},"size":{"type":"integer","readOnly":true,"description":"The size in bytes that was declared for the upload."},"bytes":{"type":"integer","nullable":true,"readOnly":true,"description":"The size in bytes of the file as it is stored. An SVG is stored after it has been cleaned up, so this can differ from the size that was declared. Null until the asset is ready."},"width":{"type":"integer","nullable":true,"readOnly":true,"description":"In pixels. For an SVG it is read from its width and height, or from its viewBox. Null until the asset is ready, and always null for a font."},"height":{"type":"integer","nullable":true,"readOnly":true,"description":"In pixels. For an SVG it is read from its width and height, or from its viewBox. Null until the asset is ready, and always null for a font."},"url":{"type":"string","nullable":true,"readOnly":true,"description":"The public address of the file. A template refers to the file by this address and by no other, and the address always is the same file. Null until the asset is ready."},"rejectionCode":{"type":"string","nullable":true,"readOnly":true,"description":"The code of the error that refused the file, such as template-asset-dimensions. Null unless the asset is rejected."},"expiresAt":{"type":"string","format":"date-time","readOnly":true,"description":"The time the upload has to be completed by, 60 minutes after the asset was created. An asset that has not been completed by then cannot be, and no longer counts towards the 40 a template can have."},"createdAt":{"type":"string","format":"date-time","readOnly":true},"upload":{"type":"object","readOnly":true,"required":["url","method","headers"],"description":"How to send the file, in the answer to creating the asset only. Send the file as the body of a request to the url with this method and exactly these headers, then complete the asset. The url can be used for an hour.","properties":{"url":{"type":"string","description":"The address the file is sent to."},"method":{"type":"string","enum":["PUT"]},"headers":{"type":"object","required":["Content-Type"],"description":"The headers to send with the file. The upload is refused unless the Content-Type is exactly this value and the body is exactly the size that was declared.","properties":{"Content-Type":{"type":"string","enum":["image/png","image/jpeg","image/webp","image/svg+xml","font/woff2","font/woff","font/ttf","font/otf"]}}}}}}},"relationships":{"type":"object","properties":{"template":{"type":"object","description":"The managed template the file belongs to, which has to be in the portal of the requester, not archived. An asset belongs to one template and only that template can use it.","readOnly":true,"properties":{"data":{"type":"object","required":["id","type"],"nullable":false,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Template"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The TemplateCatalogue object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"TemplateCatalogue":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TemplateCatalogue"]},"attributes":{"type":"object","additionalProperties":false,"required":["usage","shellVersion","groups","dates","iterables"],"properties":{"usage":{"type":"string","enum":["exam","assignment"],"readOnly":true},"shellVersion":{"type":"integer","readOnly":true},"groups":{"type":"array","readOnly":true,"description":"The values a template can print, in groups. The last group lists the candidate attributes of the portal.","items":{"type":"object","required":["id","label","variables"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"variables":{"type":"array","items":{"type":"object","required":["id","label","kind","path","insert"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"kind":{"type":"string","description":"text, number, boolean (for use with if) or image-url. Dates are listed apart."},"path":{"type":"string","description":"Where the value is in the data."},"insert":{"type":"string","description":"The Go template action to put in the body."}}}}}}},"dates":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","label","path","formats"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"path":{"type":"string"},"formats":{"type":"array","items":{"type":"object","required":["id","label","example","insert"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"insert":{"type":"string"}}}}}}},"iterables":{"type":"array","readOnly":true,"items":{"type":"object","required":["id","label","path","insert"],"properties":{"id":{"type":"string"},"label":{"type":"string"},"path":{"type":"string"},"insert":{"type":"string"}}}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The TemplatePreview object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"TemplatePreview":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TemplatePreview"]},"attributes":{"type":"object","additionalProperties":false,"required":["valid","errors"],"properties":{"valid":{"type":"boolean","description":"false when the parts did not compile. That is not a failure of the request: the errors say what to fix."},"errors":{"type":"array","items":{"type":"object","required":["pane","code","message"],"properties":{"pane":{"type":"string","description":"Where the problem is: html (the body), css, settings, or background (the page background)."},"line":{"type":"integer","description":"Starting at 1, within the source of that pane. 0 for settings. Left out for the background."},"column":{"type":"integer","description":"Starting at 1, within the source of that pane. 0 for settings. Left out for the background."},"code":{"type":"string","description":"A stable, machine readable code such as template.parse_error."},"message":{"type":"string"}}}},"pdf":{"type":"string","description":"The rendered PDF, base64 encoded. Only when valid."},"pageCount":{"type":"integer"},"engine":{"type":"string","description":"The renderer that produced the PDF."},"scenario":{"type":"string","enum":["standard","long-text","no-qr"]},"shellVersion":{"type":"integer","description":"The version of the Synap-owned shell it was compiled with."}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Test object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Test":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Test"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"title":{"type":"string"},"attr":{"type":"object","readOnly":false,"nullable":true,"additionalProperties":true},"totalQuestions":{"type":"number"},"settings":{"type":"object","nullable":true},"sectionSettings":{"type":"array","items":{"type":"object"},"nullable":true},"resitAllowedAttempts":{"type":"number","nullable":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"questions":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["Question"]}]}}}}}},"coverImage":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Image"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The TipSuggestion object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"TipSuggestion":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TipSuggestion"]},"attributes":{"type":"object","properties":{"tip":{"type":"string","readOnly":true},"createdAt":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The Token object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"Token":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Token"]},"attributes":{"type":"object","properties":{"type":{"type":"string","readOnly":true,"enum":["closeAccount","checkoutSession","oidcState","verifyEmail","lti1p1Launch","lti1p3DeepLink"]}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The TransactionalEmail object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"TransactionalEmail":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["TransactionalEmail"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"toEmail":{"type":"string","readOnly":true},"success":{"type":"boolean","readOnly":true},"recipientData":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"}}},"readOnly":true},"globalData":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"content":{"type":"string"}}},"readOnly":true},"templateName":{"type":"string","readOnly":true},"error":{"type":"string","readOnly":true},"subject":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true},"fromName":{"type":"string","readOnly":true},"fromEmail":{"type":"string","readOnly":true},"result":{"type":"object","properties":{"status":{"type":"string"}},"readOnly":true},"examId":{"type":"string","readOnly":true},"attemptId":{"type":"string","readOnly":true}}},"relationships":{"type":"object","properties":{"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}},"toUser":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"sendingUser":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UnauthorizedApiError object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UnauthorizedApiError":{"type":"object","description":"Unauthorized request.","properties":{"id":{"type":"string","description":"Unique ID of this error occurrence."},"status":{"type":"string","description":"HTTP status code."},"code":{"type":"string","description":"Synap internal error code."},"title":{"type":"string"},"detail":{"type":"string"},"source":{"type":"object","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"}}}}}}}}
```

## The UrlLink object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UrlLink":{"type":"object","description":"This field should be a valid Link.","nullable":true}}}}
```

## The UrlString object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UrlString":{"type":"string","description":"This field should be a valid URL."}}}}
```

## The User object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"User":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]},"attributes":{"type":"object","properties":{"createdAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"emailAddress":{"type":"string","readOnly":false},"externalId":{"type":"string","readOnly":false},"profilePicture":{"type":"object","readOnly":false,"nullable":true,"properties":{"__type":{"type":"string","enum":["File"]},"name":{"type":"string"},"url":{"type":"string","readOnly":false}}},"preferences":{"type":"object","readOnly":false},"featureRollouts":{"type":"object","readOnly":false,"additionalProperties":{"type":"string","enum":["on","off"]}},"accessibility":{"type":"object","readOnly":false,"properties":{"extraTimeMultiplier":{"type":"number","readOnly":false,"nullable":true},"isAllowedNativeReadAloud":{"type":"boolean","readOnly":false}}},"attr":{"type":"object","readOnly":false},"timeZone":{"type":"string","readOnly":false},"notificationConfig":{"type":"object","readOnly":false},"marketingEmailsConsent":{"type":"string","readOnly":false,"nullable":true},"lastSeen":{"type":"string","readOnly":true},"emailVerified":{"type":"boolean","readOnly":true},"isDisabled":{"type":"boolean","readOnly":false},"authData":{"type":"object","readOnly":true},"firstName":{"type":"string","readOnly":true},"lastName":{"type":"string","readOnly":true},"userGroupsMetadata":{"type":"object","readOnly":true,"additionalProperties":{"type":"object","properties":{"dateJoined":{"type":"string","format":"date-time"}}}}}},"relationships":{"type":"object","properties":{"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"userAttributes":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserAttribute"]}]}}}}}},"userGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The UserAccount object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserAccount":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserAccount"]},"attributes":{"type":"object","properties":{"hasExternalAuth":{"type":"boolean","readOnly":true},"canChangePassword":{"type":"boolean","readOnly":true},"canSetNewPassword":{"type":"boolean","readOnly":true},"canUsePasskeys":{"type":"boolean","readOnly":true},"shouldVerifyEmail":{"type":"boolean","readOnly":true},"name":{"type":"string","readOnly":false,"deprecated":true},"emailAddress":{"type":"string","readOnly":false,"deprecated":true},"profilePicture":{"type":"object","readOnly":false,"nullable":true,"deprecated":true,"properties":{"__type":{"type":"string","enum":["File"]},"name":{"type":"string"},"url":{"type":"string"}}},"preferences":{"type":"object","readOnly":false,"deprecated":true},"attr":{"type":"object","readOnly":false,"deprecated":true},"timeZone":{"type":"string","readOnly":false,"deprecated":true},"notificationConfig":{"type":"object","readOnly":false,"deprecated":true}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserAttribute object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserAttribute":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserAttribute"]},"attributes":{"type":"object","properties":{"value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}]}}},"relationships":{"type":"object","properties":{"attributeConfig":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["AttributeConfig"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserEngagement object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserEngagement":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserEngagement"]},"attributes":{"type":"object","properties":{"startDate":{"type":"string","format":"date","readOnly":true},"endDate":{"type":"string","format":"date","readOnly":true},"totalResponses":{"type":"number","readOnly":true},"correctResponses":{"type":"number","readOnly":true},"averageScore":{"type":"number","readOnly":true},"attemptCount":{"type":"number","readOnly":true},"uniqueQuestionCount":{"type":"number","readOnly":true}}},"relationships":{"type":"object","properties":{"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"portal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Portal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserGroup object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserGroup":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]},"attributes":{"type":"object","additionalProperties":false,"properties":{"createdAt":{"type":"string","readOnly":true},"updatedAt":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":false},"description":{"type":"string","readOnly":false},"attr":{"type":"object","readOnly":false,"additionalProperties":true},"isDefaultGroup":{"type":"boolean","readOnly":true},"defaultGroupType":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true},"isArchived":{"type":"boolean","readOnly":false},"totalUsers":{"type":"number","readOnly":true},"parentId":{"type":"string","readOnly":true,"nullable":true},"internal":{"type":"boolean","readOnly":true},"membershipExpiryEnabled":{"type":"boolean","readOnly":false},"membershipExpiryTimeToExpireInMs":{"type":"number","readOnly":false,"nullable":true}}},"relationships":{"type":"object","properties":{"owner":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}},"userType":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserType"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserGroupExport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserGroupExport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroupExport"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserGroupLink object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserGroupLink":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroupLink"]},"attributes":{"type":"object","properties":{"message":{"type":"string","readOnly":true},"public":{"type":"boolean","readOnly":true},"requiresCode":{"type":"boolean","readOnly":true}}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserGroupLinkAccess object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserGroupLinkAccess":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroupLinkAccess"]},"attributes":{"type":"object","properties":{"userId":{"type":"string","readOnly":false},"code":{"type":"string","readOnly":false}}},"relationships":{"type":"object","properties":{"userGroupLink":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroupLink"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserGroupLinkSettings object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserGroupLinkSettings":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroupLinkSettings"]},"attributes":{"type":"object","properties":{"message":{"type":"string","readOnly":false},"code":{"type":"string","readOnly":false},"enabled":{"type":"boolean","readOnly":false},"public":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserGroupLinkValidation object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserGroupLinkValidation":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroupLinkValidation"]},"attributes":{"type":"object","properties":{"isCodeValid":{"type":"boolean","readOnly":true},"reason":{"type":"string","readOnly":true},"code":{"type":"string","readOnly":false}}},"relationships":{"type":"object","properties":{"userGroupLink":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroupLink"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserImport object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserImport":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserImport"]},"attributes":{"type":"object","properties":{"dryRun":{"type":"boolean","readOnly":true,"description":"If true, the import will be validated but not executed."},"emails":{"type":"array","readOnly":true,"minItems":1,"description":"List of emails to import. Should not be used with csv import.","items":{"type":"string"}},"personalMessage":{"type":"string","readOnly":true},"generateAccounts":{"type":"boolean","readOnly":true},"allowInauthenticEmails":{"type":"boolean","readOnly":true,"description":"If true, the import will allow missing emails. This is only valid when externalIds are provided and generateAccounts is true."},"disableWelcomeEmail":{"type":"boolean","readOnly":true},"usersInvited":{"type":"array","items":{"type":"string"},"readOnly":true},"invitesUpdated":{"type":"array","items":{"type":"string"},"readOnly":true},"existingUsersAdded":{"type":"array","items":{"type":"string"},"readOnly":true},"existingUsersAttributesUpdated":{"type":"array","items":{"type":"string"},"readOnly":true},"unchangedUsers":{"type":"array","items":{"type":"string"},"readOnly":true},"generatedUsers":{"type":"array","items":{"type":"string"},"readOnly":true}}},"relationships":{"type":"object","required":["userGroup"],"properties":{"userGroup":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserGroup"]}}}}},"csv":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["File"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserPassword object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserPassword":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserPassword"]},"attributes":{"type":"object","properties":{"oldPassword":{"type":"string"},"newPassword":{"type":"string"}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserRegistration object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserRegistration":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserRegistration"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"emailAddress":{"type":"string","readOnly":true},"password":{"type":"string","readOnly":true,"description":"Minimum 8 characters; 1 upper, 1 lower and 1 digit"},"registrationSource":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["self","externalAuth"]}}},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["generated"]},"token":{"type":"string"}}},{"type":"object","required":["type","inviteId"],"properties":{"type":{"type":"string","enum":["invite"]},"inviteId":{"type":"string"}}},{"type":"object","required":["type","productId"],"properties":{"type":{"type":"string","enum":["product"]},"productId":{"type":"string"}}},{"type":"object","required":["type","code"],"properties":{"type":{"type":"string","enum":["examVoucher"]},"code":{"type":"string"}}}]},"welcomeEmailDisabled":{"type":"boolean","readOnly":true,"description":"If true the welcome email will not be sent."},"welcomeEmailCustomMessage":{"type":"string","readOnly":true,"nullable":true,"description":"Custom message to include in generated account notifications"},"marketingEmailsConsent":{"type":"string","readOnly":true,"nullable":true},"locale":{"type":"string","enum":["en","en-GB","de-DE","el-GR","es-ES","fr-FR","it-IT","ja-JP","nl-NL","pt-BR","pt-PT","zh-CN","zh-TW","nb-NO","sl-SI","ar-SA","th-TH","hr-HR","ru-RU","id-ID","lv-LV","et-EE","pl-PL","sq-AL","cy-GB","vi-VN"],"readOnly":true,"nullable":true},"fontSize":{"type":"string","readOnly":true,"nullable":true,"enum":["xSmall","small","medium","large","xLarge"]},"extraTimeMultiplier":{"type":"number","readOnly":true,"nullable":true,"description":"Extra time multiplier for the user (e.g. 1.5 for 50% extra time)"},"timeZone":{"type":"string","readOnly":true,"nullable":true,"description":"IANA Time Zone Format (e.g. Europe/Rome)"},"attr":{"type":"object","readOnly":true,"nullable":true},"utm":{"type":"object","readOnly":true,"nullable":true},"externalId":{"type":"string","readOnly":true,"nullable":true,"description":"External identifier for the user"},"allowInauthenticEmails":{"type":"boolean","readOnly":true,"description":"When true and emailAddress is omitted, a placeholder email is generated from externalId. Only valid for generated accounts. Requires externalId."},"signUpSource":{"type":"string","enum":["Web","Mobile","API"],"readOnly":true,"deprecated":true,"description":"Deprecated. This value will be ignored. This field will be removed in the future."},"registration":{"type":"object","readOnly":true,"nullable":true,"deprecated":true,"description":"Deprecated. Use registrationSource | welcomeEmailDisabled instead. This field will be removed in the future."},"preferences":{"type":"object","readOnly":true,"nullable":true,"deprecated":true,"description":"Deprecated. Use locale | fontSize instead. This field will be removed in the future."}}},"relationships":{"type":"object","properties":{"userGroups":{"type":"object","description":"This is a resource linkage for a to-many relationship. It is like an array of Parse Pointers.","readOnly":false,"properties":{"data":{"type":"array","nullable":true,"items":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"allOf":[{"$ref":"#/components/schemas/ResourceType"},{"enum":["UserGroup"]}]}}}}}},"subPortal":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["SubPortal"]}}}}},"generatedAttempt":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["Attempt"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."},"ResourceType":{"type":"string","description":"Identifies the Resource."}}}}
```

## The UserSession object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserSession":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserSession"]},"attributes":{"type":"object","properties":{}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserStats object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserStats":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserStats"]},"attributes":{"type":"object","properties":{"attemptSubmittedCount":{"type":"number","readOnly":true},"attemptCount":{"type":"number","readOnly":true},"responseCount":{"type":"number","readOnly":true},"correctResponseCount":{"type":"number","readOnly":true},"assignmentsComplete":{"type":"number","readOnly":true},"latestStreak":{"type":"object","readOnly":true,"properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"length":{"type":"number"}}},"longestStreak":{"type":"object","readOnly":true,"properties":{"start":{"type":"string","format":"date-time"},"end":{"type":"string","format":"date-time"},"length":{"type":"number"}}}}},"relationships":{"type":"object","properties":{"user":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["User"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The UserType object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"UserType":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["UserType"]},"attributes":{"type":"object","properties":{"name":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true},"pageControls":{"type":"object","readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The WebhookDelivery object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"WebhookDelivery":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["WebhookDelivery"]},"attributes":{"type":"object","properties":{"eventName":{"type":"string","enum":["assignment.complete","attempt.submitted","attempt.complete","attempt.started","attemptOverride.created","attemptCertificate.generated","exam.userRegistered","exam.submitted","exam.started","exam.complete","exam.released","exam.examCreated","exam.examUpdated","flag.planted","learningRecord.created","learningRecord.updated","learningRecord.deleted","store.purchase","usergroup.userAdded","usergroup.userRemoved","invite.sent","user.registered","user.updated","subPortal.created","subPortal.updated","subPortal.deleted","markingSession.started","markingSession.completed","markingState.updated"],"readOnly":true,"nullable":false},"targetId":{"type":"string","readOnly":true,"nullable":true},"status":{"type":"string","enum":["pending","sending","sent","failed","exhausted","paused","cancelled"],"readOnly":true,"nullable":false},"targetUrl":{"type":"string","readOnly":true,"nullable":false},"source":{"type":"string","enum":["zapier","user"],"readOnly":true,"nullable":false},"isTest":{"type":"boolean","readOnly":true,"nullable":false},"attemptCount":{"type":"number","readOnly":true,"nullable":false},"totalAttemptCount":{"type":"number","readOnly":true,"nullable":false},"maxAttempts":{"type":"number","readOnly":true,"nullable":false},"nextAttemptAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"lastAttemptedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"deliveredAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"responseStatusCode":{"type":"number","readOnly":true,"nullable":true},"lastErrorType":{"type":"string","enum":["timeout","network","http_4xx","http_5xx","gone",null],"readOnly":true,"nullable":true},"errorMessage":{"type":"string","readOnly":true,"nullable":true},"payload":{"type":"object","additionalProperties":true,"readOnly":true,"nullable":true},"responseBody":{"type":"string","readOnly":true,"nullable":true},"createdAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false},"updatedAt":{"type":"string","format":"date-time","readOnly":true,"nullable":false}}},"relationships":{"type":"object","properties":{"subscription":{"type":"object","description":"This is a resource linkage for a to-one relationship. It is like a Parse Pointer.","readOnly":false,"properties":{"data":{"type":"object","required":["id","type"],"nullable":true,"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["WebhookSubscription"]}}}}}}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The WebhookSamplePayload object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"WebhookSamplePayload":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["WebhookSamplePayload"]},"attributes":{"type":"object","properties":{"eventName":{"type":"string","enum":["assignment.complete","attempt.submitted","attempt.complete","attempt.started","attemptOverride.created","attemptCertificate.generated","exam.userRegistered","exam.submitted","exam.started","exam.complete","exam.released","exam.examCreated","exam.examUpdated","flag.planted","learningRecord.created","learningRecord.updated","learningRecord.deleted","store.purchase","usergroup.userAdded","usergroup.userRemoved","invite.sent","user.registered","user.updated","subPortal.created","subPortal.updated","subPortal.deleted","markingSession.started","markingSession.completed","markingState.updated"],"readOnly":true,"nullable":false},"payload":{"type":"object","additionalProperties":true,"readOnly":true,"nullable":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The WebhookSubscription object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"WebhookSubscription":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["WebhookSubscription"]},"attributes":{"type":"object","properties":{"eventName":{"type":"string","enum":["assignment.complete","attempt.submitted","attempt.complete","attempt.started","attemptOverride.created","attemptCertificate.generated","exam.userRegistered","exam.submitted","exam.started","exam.complete","exam.released","exam.examCreated","exam.examUpdated","flag.planted","learningRecord.created","learningRecord.updated","learningRecord.deleted","store.purchase","usergroup.userAdded","usergroup.userRemoved","invite.sent","user.registered","user.updated","subPortal.created","subPortal.updated","subPortal.deleted","markingSession.started","markingSession.completed","markingState.updated"],"readOnly":true,"nullable":false},"targetUrl":{"type":"string","readOnly":true,"nullable":false},"name":{"type":"string","readOnly":false,"nullable":true},"basicAuth":{"type":"object","required":["username","password"],"properties":{"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"readOnly":false,"nullable":true},"active":{"type":"boolean","readOnly":false,"nullable":false},"deliveryStats":{"type":"object","readOnly":true,"nullable":false,"properties":{"lastDeliveryAt":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"lastStatus":{"type":"string","enum":["pending","sending","sent","failed","exhausted","paused","cancelled",null],"readOnly":true,"nullable":true},"lastResponseStatusCode":{"type":"number","readOnly":true,"nullable":true},"lastErrorType":{"type":"string","enum":["timeout","network","http_4xx","http_5xx","gone",null],"readOnly":true,"nullable":true},"recentFailureCount":{"type":"number","readOnly":true,"nullable":false},"recentSuccessCount":{"type":"number","readOnly":true,"nullable":false},"recentTotalCount":{"type":"number","readOnly":true,"nullable":false}}}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```

## The ZapierApiKey object

```json
{"openapi":"3.0.1","info":{"title":"Synap API","version":"3.0.0"},"components":{"schemas":{"ZapierApiKey":{"type":"object","required":["id","type"],"properties":{"id":{"$ref":"#/components/schemas/ObjectId"},"type":{"type":"string","description":"Identifies the Resource.","enum":["ZapierApiKey"]},"attributes":{"type":"object","properties":{"label":{"type":"string","readOnly":true},"createdAt":{"type":"string","readOnly":true},"lastUsed":{"type":"string","readOnly":true},"isRevoked":{"type":"boolean","readOnly":false}}},"relationships":{"type":"object","properties":{}}}},"ObjectId":{"type":"string","description":"The primary key for each resource."}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://synap.ac/docs/api/reference/models.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
