swagger.json
{'swagger':'2.0','info':{'title':'Course Maps API','description':'API for interacting with Engrade Course Maps','contact':{'name':'Isaac Riceweber','email':'isaac.riceweber@engrade.com'},'version':'v1'},'host':'core-api-c2qastg.lms.nonprod.mheducation.com','basePath':'/coursemaps/v1','schemes':['https'],'consumes':['application/json'],'produces':['application/json'],'paths':{'/folders/{folderid}/children/{itemid}/assignment':{'post':{'tags':['folders'],'description':'Creates an assignment for an item and creates a mapping between the item and assignment','operationId':'assignFolderItem','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder requested.','required':true,'type':'integer','minimum':1},{'name':'itemid','in':'path','description':'Identifier for the item that will be assigned','required':true,'type':'integer','minimum':1},{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'},{'name':'payload','in':'body','description':'Structure for JSON request payload','required':true,'schema':{'$ref':'#/definitions/InstructionParameters'}}],'responses':{'200':{'description':'Item was successfully assigned','schema':{'properties':{'assignment':{'required':['assnid','clid'],'properties':{'assnid':{'description':'The assignment id of the newly created assignment','type':'string'},'clid':{'description':'The id of the class that owns this assignment','type':'string'}},'type':'object'},'item':{'$ref':'#/definitions/Item'}},'type':'object'}},'400':{'description':'Invalid input parameter','schema':{'$ref':'#/definitions/Error'}},'403':{'description':'Not authorized to assign the item in the folder','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Item is not in the folder','schema':{'$ref':'#/definitions/Error'}},'409':{'description':'The item is already assigned','schema':{'$ref':'#/definitions/Error'}},'500':{'description':'An error occurred with assigning the item','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]},'delete':{'tags':['folders'],'description':'Deletes an item from a folder','operationId':'unassignFolderItem','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder requested.','required':true,'type':'integer','minimum':1},{'name':'itemid','in':'path','description':'Identifier for the item that will be deleted','required':true,'type':'integer','minimum':1},{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'}],'responses':{'200':{'description':'Item was successfully assigned','schema':{'properties':{'assnid':{'description':'ID of assignment associated with item','type':'integer'},'clid':{'description':'ID of class assignment is in','type':'integer'},'itemid':{'description':'ID of item in a course map folder','type':'integer'},'folderid':{'description':'ID of folder item was contained in','type':'integer'}},'type':'object'}},'403':{'description':'Not authorized to delete the item in the folder','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Folder does not exist','schema':{'$ref':'#/definitions/Error'}},'500':{'description':'An error occurred with deleting the item','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/bulk-copy/tasks':{'post':{'tags':['tasks'],'description':'Initiates bulk copy task.','operationId':'initBulkCopy','parameters':[{'name':'payload','in':'body','description':'Structure for JSON request payload','required':true,'schema':{'$ref':'#/definitions/BulkCopyParameters'}}],'responses':{'201':{'description':'Successfully copied','schema':{'properties':{'task':{'$ref':'#/definitions/BulkCopyParameters'}},'type':'object'}},'202':{'description':'Accepted, copy task is pending due to async-required and/or child tasks','schema':{'properties':{'task':{'$ref':'#/definitions/BulkCopyParameters'}},'type':'object'}},'400':{'description':'Bad request','schema':{'$ref':'#/definitions/Error'}},'401':{'description':'Unauthorized','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Course does not exist','schema':{'$ref':'#/definitions/Error'}},'409':{'description':'Conflict','schema':{'$ref':'#/definitions/Error'}},'500':{'description':'Error occurred while copying the course','schema':{'$ref':'#/definitions/Error'}},'524':{'description':'Timeout error','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/bulk-copy/tasks/{taskxid}':{'put':{'tags':['tasks'],'description':'Creates copied course and associates copied items with it.','operationId':'copyCourses','parameters':[{'name':'taskxid','in':'path','description':'Identifier for the task requested.','required':true,'type':'string'},{'name':'payload','in':'body','description':'Structure for JSON request payload','required':true,'schema':{'$ref':'#/definitions/BulkCopyParameters'}}],'responses':{'200':{'description':'Successfully copied','schema':{'properties':{'task':{'$ref':'#/definitions/BulkCopyParameters'}},'type':'object'}},'400':{'description':'Bad request','schema':{'$ref':'#/definitions/Error'}},'401':{'description':'Unauthorized','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Course does not exist','schema':{'$ref':'#/definitions/Error'}},'409':{'description':'Conflict','schema':{'$ref':'#/definitions/Error'}},'500':{'description':'Error occurred while copying the course','schema':{'$ref':'#/definitions/Error'}},'524':{'description':'Timeout error','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/':{'get':{'tags':['docs'],'description':'This document','operationId':'getSwaggerJson','responses':{'200':{'description':'This document'}}}},'/folders/{folderid}':{'get':{'tags':['folders'],'description':'Contents of a folder as a tree structure, limited by the depth parameter.','operationId':'getFolder','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder requested.','required':true,'type':'integer','minimum':1},{'name':'depth','in':'query','description':'Depth of the tree to fetch.','required':false,'type':'integer','minimum':-1},{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'}],'responses':{'200':{'description':'The folder, its contents, and subfolder contents.','schema':{'properties':{'folder':{'$ref':'#/definitions/Folder'}},'type':'object'}},'400':{'description':'Invalid input parameter','schema':{'$ref':'#/definitions/Error'}},'401':{'description':'Not authorized to view the course containing this folder.','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Folder does not exist','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]},'delete':{'tags':['folders'],'description':'Deletes a single folder','operationId':'deleteFolder','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder to delete.','required':true,'type':'string'}],'responses':{'200':{'description':'Folder was successfully deleted'},'400':{'description':'Attempted to delete an entire course. Deleting an entire course is currently not implemented.','schema':{'$ref':'#/definitions/Error'}},'403':{'description':'Not authorized to delete the folder','schema':{'$ref':'#/definitions/Error'}},'409':{'description':'Assignments may not be in the deleted subtree','schema':{'$ref':'#/definitions/Error'}},'500':{'description':'Various server errors. See response payload for more information.','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]},'patch':{'tags':['folders'],'description':'Update properties of a single folder, including the folder's children','operationId':'updateFolder','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder requested.','required':true,'type':'integer','minimum':1},{'name':'payload','in':'body','description':'Structure for JSON request payload','required':true,'schema':{'properties':{'title':{'description':'Plain text title for the folder','type':'string'},'titleHtml':{'description':'HTML title for the folder','type':'string'},'children':{'description':'List of ids that will become the children of the folder','type':'array','items':{'type':'integer'}},'presentationOrders':{'description':'JsonObject keyed with the name(s) of presentationorder(s), with the values being arrays of itemIds. A null value indicates the presentation order should be removed entirely.'},'parentId':{'description':'Id of the new parent for the folder','type':'string'},'weight':{'description':'Desired position of folder within new parent','type':'integer','minimum':0}},'type':'object'}}],'responses':{'200':{'description':'The updated folder','schema':{'properties':{'folder':{'$ref':'#/definitions/Folder'}},'type':'object'}},'400':{'description':'Invalid input parameter','schema':{'$ref':'#/definitions/Error'}},'401':{'description':'Not authorized to edit the course containing this folder.','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Folder does not exist','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/folders/{folderid}/children/{childid}':{'delete':{'tags':['folders'],'description':'Deletes an item from a folder','operationId':'deleteFolderItem','parameters':[{'name':'folderid','in':'path','description':'Identifier for the parent of the item to be deleted.','required':true,'type':'integer','minimum':1},{'name':'childid','in':'path','description':'Identifier for the item to be deleted.','required':true,'type':'integer','minimum':1}],'responses':{'200':{'description':'Folder item successfully deleted'},'403':{'description':'Not authorized to delete the contents in this folder','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Folder does not exist','schema':{'$ref':'#/definitions/Error'}},'500':{'description':'Error occurred while deleting the folder item','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]},'patch':{'tags':['items'],'description':'Update properties of a single item','operationId':'updateItem','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder requested.','required':true,'type':'string'},{'name':'childid','in':'path','description':'Identifier for the child item requested.','required':true,'type':'string'},{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'},{'name':'payload','in':'body','description':'Structure for JSON request payload','required':true,'schema':{'properties':{'title':{'description':'Plain text title for the item','type':'string'},'includeInClassPresentation':{'description':'Flag indicating item should be included in an in-class presentation, if applicable.','type':'boolean'},'visibleToStudents':{'description':'Flag indicating item should be visible to student level users.','type':'boolean'},'parentId':{'description':'Id of new parent. This indicates the item is moving to a new folder.','type':'string'},'weight':{'description':'Desired position of folder within new parent','type':'integer','minimum':0}},'type':'object'}}],'responses':{'200':{'description':'The updated item','schema':{'properties':{'item':{'$ref':'#/definitions/Item'}},'type':'object'}},'400':{'description':'Invalid input parameter','schema':{'$ref':'#/definitions/Error'}},'401':{'description':'User does not exist or is not logged in.','schema':{'$ref':'#/definitions/Error'}},'403':{'description':'Not authorized to edit the course containing this item.','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Item does not exist','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/courses/{courseid}':{'get':{'tags':['courses'],'description':'Fetch the entire tree of a course. A course is a folder with no parent.','operationId':'getCourse','parameters':[{'name':'courseid','in':'path','description':'Identifier for the course requested.','required':true,'type':'integer','minimum':1},{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'}],'responses':{'200':{'description':'The entire course tree.','schema':{'properties':{'course':{'$ref':'#/definitions/Folder'},'importStatus':{'description':'The status of the courseware import','type':'string','enum':['In-Progress','Error','Complete']}},'type':'object'}},'401':{'description':'You do not have access to the course.','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'The course does not exist.','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/courses/{courseid}/import-status':{'get':{'tags':['courses'],'summary':'Import Status Object Returned as part of the GET /courses/:id/import-status call','description':'Fetches the status of the importing process for a given course','operationId':'getImportStatus','parameters':[{'name':'courseid','in':'path','description':'Identifier for the course the status is requested.','required':true,'type':'integer','minimum':1}],'responses':{'200':{'description':'The status of the import.','schema':{'properties':{'importStatus':{'description':'Import Status Object Returned as part of the GET /courses/:id/import-status call','$ref':'#/definitions/ImportStatus'}},'type':'object'}},'403':{'description':'Rejected JWT claims','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'The course does not exist.','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/folders/{folderid}/layout':{'get':{'tags':['folders'],'description':'Fetch the layout metadata for a folder if it exists','operationId':'getFolderLayout','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder.','required':true,'type':'integer','minimum':1}],'responses':{'200':{'description':'The folder layout','schema':{'properties':{'layout':{'$ref':'#/definitions/FolderLayout'}},'type':'object'}},'401':{'description':'You do not have access to the course containing the folder.','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'The folder does not exist, or a layout definition for the folder does not exist.','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/folders':{'post':{'tags':['folders'],'description':'Add a folder.','operationId':'addFolder','parameters':[{'name':'payload','in':'body','description':'Structure for JSON request payload','required':true,'schema':{'required':['parentId'],'properties':{'parentId':{'description':'Parent Id of the folder','type':'integer'},'name':{'description':'Name (title) of folder','type':'string','default':'New Folder'}}}}],'responses':{'200':{'description':'The folder that was added.','schema':{'properties':{'folder':{'$ref':'#/definitions/Folder'}},'type':'object'}},'403':{'description':'Not authorized','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Parent folder does not exist','schema':{'$ref':'#/definitions/Error'}},'500':{'description':'Error occurred while adding the folder item','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/folders/{folderid}/children':{'post':{'tags':['folders'],'description':'Add a child to a folder. Current version supports adding a file upload.','operationId':'addFolderChild','consumes':['multipart/form-data'],'parameters':[{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'},{'name':'itemType','in':'formData','description':'Asset Type being added','required':true,'type':'string'},{'name':'folderid','in':'path','description':'Identifier for the folder that the item will be added to.','required':true,'type':'string'},{'name':'isCustomContent','in':'formData','description':'File to upload','required':false,'type':'file'},{'name':'title','in':'formData','description':'Title of item','required':false,'type':'string'},{'name':'url','in':'formData','description':'Item URL','required':false,'type':'string'},{'name':'sourceId','in':'formData','description':'Source ID for the lars item type','required':false,'type':'string'},{'name':'weight','in':'formData','description':'Folder child index where file should be inserted','required':false,'type':'integer'}],'responses':{'200':{'description':'The file that was added.','schema':{'properties':{'item':{'$ref':'#/definitions/LaunchableItem'}},'type':'object'}},'400':{'description':'File upload not provided in request','schema':{'$ref':'#/definitions/Error'}},'401':{'description':'User does not exist or is not logged in.','schema':{'$ref':'#/definitions/Error'}},'403':{'description':'Not authorized to add the item to the folder.','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'Item uploaded was not found when attempting to add it to the folder','schema':{'$ref':'#/definitions/Error'}},'422':{'description':'Item uploaded had incorrect parameters for creation','schema':{'$ref':'#/definitions/Error'}},'500':{'description':'Unable to find folder or item authorization, failure to upload file, or database insertion failure.','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/items/content':{'post':{'tags':['items'],'description':'A key value pair where key is the s3 url and the value is the content of the s3 url','operationId':'itemContent','parameters':[{'name':'urls','in':'body','description':'s3 URLs to resolve','required':true,'schema':{'type':'array','items':{'type':'string'}}}],'responses':{'200':{'description':'Map of s3 urls => resolved content','schema':{'type':'object','additionalProperties':{'type':'string'}}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/user/policy':{'get':{'tags':['user'],'description':'Returns map of string to boolean depending on user. Names provided depend on version requested [See #/definitions/PolicyV(1 2)]','operationId':'getPolicy','produces':['application/json'],'parameters':[{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'},{'name':'v','in':'query','description':'version of user policy desired','type':'integer'}],'responses':{'200':{'description':'User policy','schema':{'properties':{'policy':{'description':'The user policy requested','$ref':'#/definitions/ToggleSet'}},'type':'object'}},'501':{'description':'Policy not implemented for profile','schema':{'$ref':'#/definitions/Error'}}},'security':[{'jwt':[]}]}},'/folders/{folderid}/schedule':{'post':{'tags':['folders','calendars'],'description':'Add an item to the calendar','operationId':'scheduleFolder','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder to be added to the calendar.','required':true,'type':'integer','minimum':1},{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'},{'name':'payload','in':'body','schema':{'$ref':'#/definitions/DateRange'}}],'responses':{'200':{'description':'The folder was added to the calendar.','schema':{'properties':{'schedule':{'$ref':'#/definitions/DateRange'}},'type':'object'}},'400':{'description':'Invalid context type or date inputs.','schema':{'$ref':'#/definitions/Error'}},'403':{'description':'You do not have access to the context.','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'The folder or item does not exist.','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}},'/folders/{folderid}/children/{childid}/schedule':{'post':{'tags':['folders','items','calendars'],'description':'Add an item to the calendar','operationId':'scheduleItem','parameters':[{'name':'folderid','in':'path','description':'Identifier for the folder containing the item.','required':true,'type':'integer','minimum':1},{'name':'childid','in':'path','description':'Identifier for the item to be added to the calendar.','required':true,'type':'integer','minimum':1},{'$ref':'#/parameters/ContextType'},{'$ref':'#/parameters/ContextId'},{'name':'payload','in':'body','schema':{'$ref':'#/definitions/DateRange'}}],'responses':{'200':{'description':'The item was added to the calendar.','schema':{'properties':{'schedule':{'$ref':'#/definitions/DateRange'}},'type':'object'}},'400':{'description':'Invalid context type, date inputs, or item type.','schema':{'$ref':'#/definitions/Error'}},'403':{'description':'You do not have access to the context.','schema':{'$ref':'#/definitions/Error'}},'404':{'description':'The folder or item does not exist.','schema':{'$ref':'#/definitions/Error'}},'default':{'$ref':'#/responses/Error'}},'security':[{'jwt':[]}]}}},'definitions':{'AssessmentParameters':{'description':'Parameters to create assessment type assignments','allOf':[{'$ref':'#/definitions/AssignmentParameters'},{'required':['title','start','due'],'properties':{'title':{'description':'Title of the assignment','type':'string'},'start':{'description':'The start date of the assignment','type':'integer'},'due':{'description':'The due date of the assignment','type':'integer'},'category':{'description':'Assignment category','type':'integer'}},'type':'object'}]},'Assignment':{'description':'An object that references an assignment and its associated launchable item','allOf':[{'required':['startDate','dueDate','name','description','url'],'properties':{'startDate':{'description':'Start date','type':'string','format':'date-time'},'dueDate':{'description':'Due date','type':'string','format':'date-time'},'name':{'description':'Assignment name','type':'string'},'description':{'description':'Assignment description','type':'string'},'url':{'description':'URL','type':'string'},'resultUrl':{'description':'Result URL','type':'string'}},'type':'object'}]},'InstructionParameters':{'description':'Parameters to create an instruction type assignments','allOf':[{'$ref':'#/definitions/AssignmentParameters'},{'required':['title','points','start','due'],'properties':{'title':{'description':'Title of the assignment','type':'string'},'points':{'description':'Amount of points the assignment is out of','type':'string'},'start':{'description':'The start date of the assignment','type':'integer'},'due':{'description':'The due date of the assignment','type':'integer'},'description':{'description':'Assignment description','type':'string'},'category':{'description':'Assignment category','type':'integer'}},'type':'object'}]},'AssignmentParameters':{'required':['itemid','clid'],'properties':{'itemid':{'description':'Item ID','type':'integer'},'clid':{'description':'ID of the class that the item should be assigned to','type':'integer'}}},'BulkCopyParameters':{'description':'Data object class that stores parameters needed for the bulk copy controller','required':['provider_xid','job_xid','subject_xid','task_status','copy_items','primary_instructor','secondary_instructors','source_section_xid','dest_section_xid','date_offset','callback_url'],'properties':{'xid':{'description':'Client generated xid to track the copy task','type':'string'},'provider_xid':{'description':'Provider xid - only requires {system}:{service}:{partition}','type':'string'},'parent_task_xid':{'description':'Omitted if empty. Populated when task has a parent task','type':'string'},'job_xid':{'description':'Client generated xid to track the containing job','type':'string'},'subject_xid':{'description':'Subject (typically instructor or admin) who initiated the copy request','type':'string'},'task_status':{'description':'Provides status for jobs and tasks','required':['status_code','msg'],'properties':{'status_code':{'description':'Status code','type':'string','enum':['requested','pending','pending_child_tasks','completed','completed_with_errors','cancelled','failed']},'msg':{'description':'Informational content','type':'string'},'occurred_datetime':{'description':'Datetime of this task status','type':'string'}},'type':'object'},'error':{'properties':{'source_xid':{'type':'string'},'trace':{'description':'Data used by the Course Management API to conduct diagnostics and troubleshooting of the task','type':'string'},'severity':{'type':'string','default':'error','enum':['critical','error','warning']},'msg':{'type':'string'}},'type':'object'},'copy_items':{'description':'List of copyable items (i.e. assignment) owned by a provider','type':'array','items':{'properties':{'copy_item':{'description':'A single copyable item (i.e. assignment) owned by a provider','properties':{'source_item':{'description':'Source entity to-be-copied from','properties':{'xid':{'description':'{system}:{service}:{partition}:{entity}:{id}:[{version}]','type':'string'},'payload':{'description':'parameter (context) specific to entity to support copy','type':'object'}},'type':'object'},'dest_item':{'description':'Copied destination entity (i.e. individual assignment)','properties':{'xid':{'description':'{system}:{service}:{partition}:{entity}:{id}:[{version}]','type':'string'}},'type':'object'},'error':{'properties':{'source_xid':{'type':'string'},'trace':{'description':'Data used by the Course Management API to conduct diagnostics and troubleshooting','type':'string'},'severity':{'type':'string','default':'error','enum':['critical','error','warning']},'msg':{'type':'string'}},'type':'object'}},'type':'object'}}}},'primary_instructor':{'properties':{'instructor_xid':{'type':'string'},'role':{'type':'string'}},'type':'object'},'secondary_instructors':{'type':'array','items':{'properties':{'instructor':{'properties':{'instructor_xid':{'type':'string'},'role':{'type':'string'}},'type':'object'}}}},'source_section_xid':{'description':'Xid of the section being copied','type':'string'},'dest_section_xid':{'description':'Xid of the section being copied to','type':'string'},'date_offset':{'description':'ISO8601 duration-only interval format. Provides the actual offset value set by the user.','type':'string'},'start_datetime':{'description':'Datetime representation of the task start time','type':'string'},'end_datetime':{'description':'Datetime representation of the task end time','type':'string'},'callback_url':{'description':'Url of the course management task represented by the task xid','type':'string'},'child_tasks':{'type':'array','items':{'$ref':'#/definitions/BulkCopyParameters'}}},'type':'object'},'Entity':{'required':['type','title','id'],'properties':{'type':{'description':'The type of child. Value must be the Swagger definition name implementing this interface.','type':'string'},'title':{'description':'User facing title of the item/folder','type':'string'},'id':{'description':'Primary identifier of the item/folder','type':'string'},'visibleToStudents':{'description':'Flag indicating if the item is visible to students','type':'boolean'},'schedule':{'description':'Range of dates associated with this entity','$ref':'#/definitions/DateRange'},'coursewareId':{'description':'Item id in published courseware used to create this course.','type':'string'},'isUserAddedContent':{'description':'Flag indicating if the entity was added by a customer (Teacher/Admin).','type':'boolean'}},'discriminator':'type'},'Folder':{'type':'object','allOf':[{'$ref':'#/definitions/Entity'},{'required':['children'],'properties':{'type':{'type':'string','enum':['Folder']},'children':{'type':'array','items':{'$ref':'#/definitions/Entity'}},'coursewareId':{'description':'The ID of the respective MHE courseware for the folder','type':'string'},'publishId':{'description':'Publish Id for folder','type':'string'},'titleHtml':{'description':'The title of the folder styled with HTML','type':'string'},'presentationOrders':{'description':'List of presentation orders where key is the name and value is a list of ints','type':'object','$ref':'#/definitions/PresentationOrders'},'instructorNotes':{'description':'Instructor notes for the folder','type':'string'},'mheMetadataUrl':{'description':'Url pointing to MHE metadata for item','type':'string'},'schedule':{'description':'Dates associated with the folder on the class calendar','type':'object','$ref':'#/definitions/DateRange'},'isAddOn':{'description':'Boolean that is true if the folder is an addon folder','type':'boolean'}},'type':'object'}]},'ImportStatus':{'required':['id','issues','status'],'properties':{'id':{'description':'The primary id for imports','type':'integer','format':'int64'},'message':{'description':'User facing current message of the import process.','type':'string'},'progress':{'description':'Object containing the current count and the total import step to facilitate progress indicators','properties':{'count':{'description':'Current step of the import','type':'integer'},'total':{'description':'Total number of import steps/items.','type':'integer'}},'type':'object'},'issues':{'description':'List of issues encountered during the import process.'},'status':{'description':'Status indicator of the import','type':'string','enum':['In-Progress','Error','Complete']}},'discriminator':'type'},'FolderLayout':{'properties':{'sections':{'description':'List of content sections','type':'array','items':{'$ref':'#/definitions/FolderLayoutSection'}},'backgroundImage':{'description':'Optional url to a background image','type':'string'}}},'FolderLayoutRow':{'properties':{'content':{'description':'List of item ids','type':'array','items':{'type':'string'}},'columnWeights':{'description':'Count of elements is the number of columns. Each value is the relative width of each column.','type':'array','items':{'type':'integer'}}}},'FolderLayoutSection':{'required':['rows'],'properties':{'title':{'type':'string'},'backgroundImage':{'type':'string'},'rows':{'type':'array','items':{'$ref':'#/definitions/FolderLayoutRow'}}}},'PresentationOrders':{'type':'object','additionalProperties':{'type':'array','items':{'type':'string'}}},'Item':{'allOf':[{'$ref':'#/definitions/Entity'},{'properties':{'iconUrl':{'description':'Url pointing to the applicable icon.','type':'string'},'thumbnailUrl':{'description':'Url pointing a thumbnail of the resource.','type':'string'},'coursewareAssetId':{'description':'CDS Courseware Asset Id for item','type':'string'},'includeInClassPresentation':{'description':'Flag indicating item should be included in an in-class presentation, if applicable.','type':'boolean'},'tags':{'description':'List of tags associated with item','type':'array','items':{'$ref':'#/definitions/ItemTag'},'uniqueItems':true},'instructorNotes':{'description':'Instructor notes for item','type':'string'},'mheMetadataUrl':{'description':'Url pointing to MHE metadata for item','type':'string'},'audience':{'description':'List of IMS Role values. If missing or empty, item is meant for all roles.','type':'array','items':{'$ref':'#/definitions/UserRole'},'uniqueItems':true}},'type':'object'}]},'ItemTag':{'type':'string','enum':['Leveled']},'InlineImage':{'allOf':[{'$ref':'#/definitions/Item'},{'properties':{'url':{'description':'Url pointing to the image that should be displayed inline.','type':'string'}},'type':'object'}]},'InlineText':{'allOf':[{'$ref':'#/definitions/Item'},{'properties':{'url':{'description':'URL to an S3 location that contains the inline text (HTML) data','type':'string'}},'type':'object'}]},'LaunchableItem':{'description':'An item that references an internal or external resource','allOf':[{'$ref':'#/definitions/Item'},{'required':['url','resourceType','quizId'],'properties':{'url':{'description':'Fully qualified url pointing to the resource.','type':'string'},'resourceType':{'description':'Identifier of the type of resource launched with the url.','type':'string'},'assignment':{'description':'Assignment associated with the launchable item','$ref':'#/definitions/Assignment'},'quizId':{'description':'Engrade quiz id associated with item. This will be the empty string if no such id exists.','type':'string'}},'type':'object'}]},'ToggleSetV1':{'properties':{'ADD_GOOGLE_DRIVE_CONTENT':{'type':'boolean'},'ADD_OWN_CONTENT':{'type':'boolean'},'ADD_TO_CALENDAR_FROM_HIERARCHY':{'type':'boolean'},'ASSIGN':{'type':'boolean'},'EDIT_MODE_FOR_HIERARCHY':{'type':'boolean'},'EXTEND_LICENSE':{'type':'boolean'},'HIERARCHY_WITH_ASSETS':{'type':'boolean'},'HIERARCHY_WITH_FOLDERS':{'type':'boolean'},'HIERARCHY_FILTER':{'type':'boolean'},'LAUNCH_ASSET_FROM_HIERARCHY':{'type':'boolean'},'LAUNCH_FOLDER_FROM_HIERARCHY':{'type':'boolean'},'PLAYER_AS_INDIVIDUAL_ASSET':{'type':'boolean'},'PLAYER_AS_SEQUENCE':{'type':'boolean'},'REARRANGE_PRESENTATION_ORDER_FROM_TRAY':{'type':'boolean'},'SEARCH':{'type':'boolean'}},'type':'object'},'ToggleSetV2':{'properties':{'ADD_TO_CALENDAR_FROM_HIERARCHY':{'type':'boolean'},'ASSIGN':{'type':'boolean'},'CAN_EDIT_COURSE':{'type':'boolean'},'CAN_SEE_TEACHER_MATERIALS':{'type':'boolean'},'HIERARCHY_WITH_ASSETS':{'type':'boolean'},'HIERARCHY_WITH_FOLDERS':{'type':'boolean'},'K5_EXPERIENCE':{'type':'boolean'},'LAUNCH_FOLDER_FROM_HIERARCHY':{'type':'boolean'},'PLAYER_AS_SEQUENCE':{'type':'boolean'},'REARRANGE_PRESENTATION_ORDER_FROM_TRAY':{'type':'boolean'},'SEARCH':{'type':'boolean'}},'type':'object'},'ToggleSetV3':{'properties':{'ADD_TO_CALENDAR_FROM_HIERARCHY':{'type':'boolean'},'ASSIGN':{'type':'boolean'},'CAN_EDIT_COURSE':{'type':'boolean'},'CAN_SEE_TEACHER_MATERIALS':{'type':'boolean'},'HIDE_SEARCH_STANDARDS':{'type':'boolean'},'HIERARCHY_WITH_ASSETS':{'type':'boolean'},'HIERARCHY_WITH_FOLDERS':{'type':'boolean'},'K5_EXPERIENCE':{'type':'boolean'},'LAUNCH_FOLDER_FROM_HIERARCHY':{'type':'boolean'},'PLAYER_AS_SEQUENCE':{'type':'boolean'},'REARRANGE_PRESENTATION_ORDER_FROM_TRAY':{'type':'boolean'},'SEARCH':{'type':'boolean'},'USE_CALENDAR_API':{'type':'boolean'}},'type':'object'},'ToggleSet':{'description':'Map of toggle name to value. List of names depends on user policy version requested.','type':'object','additionalProperties':{'type':'boolean'}},'Error':{'required':['error'],'properties':{'error':{'type':'string'}},'type':'object'},'DateRange':{'required':['start','end'],'properties':{'start':{'type':'string','format':'date-time'},'end':{'type':'string','format':'date-time'}},'type':'object'},'UserRole':{'type':'string','enum':['Learner','Instructor','Mentor']}},'parameters':{'ContextType':{'name':'contexttype','in':'query','description':'Type of the context.','required':true,'type':'string','enum':['user','class','school','district']},'ContextId':{'name':'contextid','in':'query','description':'The id of the context.','required':true,'type':'string'}},'responses':{'Error':{'description':'An error occurred while processing the request.','schema':{'$ref':'#/definitions/Error'}}},'securityDefinitions':{'jwt':{'type':'apiKey','description':'Must be in the form 'Bearer <JWT>' where <JWT> is the Json Web Token obtained from Engrade','name':'Authorization','in':'header'}}}
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Json Schema Enum Description

  • How to define enum in swagger.io? Ask Question Asked 5 years, 2 months ago. Active today. Viewed 62k times 43. Does anyone was able to define possible 'enum' values in Model tab in swaggger version 2.0? Example here. Since I'm following same JSON schema as per this demo json.
  • 2 hours ago  The Swagger specification uses JSON and JSON Schema to describe a RESTful web API. The NSwag project provides tools to generate Swagger Load YAML and JSON documents using Swift. YamlSwift parses a string of YAML document(s) (or a JSON document) and returns a Yaml enum.
  • Additional type-specific keywords can be used to refine the data type, for example, limit the string length or specify an enum of possible values. Mixed Types type takes a single value. Type as a list is not valid in OpenAPI (even though it is valid in JSON Schema): # Incorrect type: - string - integer.
  • Swagger to JSON-Schema. I'm looking for a way to convert a schema defined inside a swagger to a JSON-Schema. What is smallest addressable value in an octal.
  • The concern is will each faction work towards a consensus with usage of JSON, JSON Schema, and Swagger / OPEN API so the code generators interpret an Enum is an Enum regardless of the underling implementation by each interested party.

Swagger Json Schema Generator For Enum Key Value Guide

The Swagger specification supports by name only the primitive types supported by the JSON-Schema Draft 4. The value type MUST conform with the primitive’s type value. Enum string. It can be used by the Swagger UI and other clients to interpret the API listing. The value MUST be an existing Swagger specification version. Currently, '1.

Generate ssh key without putty. PuTTYgen is an key generator tool for creating SSH keys for PuTTY. It is analogous to the ssh-keygen tool used in some other SSH implementations. The basic function is to create public and private key pairs. PuTTY stores keys in its own format in.ppk files. However, the tool can also convert keys to and from other formats.

Unlike other versions where you have to activate one program at a time. With Microsoft office 2013 professional plus product key, you will activate the complete version which will include every program by just using one Key. Microsoft office 2013 Professional Plus Product key. FT0-BG5-MNK-859 M0C-R74-NUR-HH8 0DJ-21U-WGK-L2V X22-0SO-LOM-BEQ OP3-LCM-QO5-YJL. What is the Microsoft Office 2013 Product Key? Microsoft Office 2013 product key is a 25-digit code that’s required to activate a copy of MS Office 2013. The product license key code looks like this: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX. If you don’t provide a working key product code, you will not be able to use Microsoft Office 2013. Product key office professional plus 2013 generator. Mar 09, 2020  Microsoft Office 2013 Product Key Generator has been a part of many lives for decades. It facilitates professionals, businesses, student and individuals for personal purposes. It facilitates professionals, businesses, student and individuals for personal purposes. Oct 25, 2019  Microsoft Office Professional Plus 2013 Product Key is an office suite of desktop programs, services, and servers for the Microsoft Windows as well as Mac OS X operating systems, created by Microsoft. The brand new Microsoft Office has updated versions of Word, Excel, PowerPoint, Outlook, and OneNote as well as the second you open any one of the apps, you will instantly sense the.