Figured out most data points I would like. Need to clean it up and figure out adding it to a database.

This commit is contained in:
Normanras
2023-02-20 21:35:44 -05:00
parent 4fb10c8ff3
commit 37f6311d4b
6 changed files with 221 additions and 208 deletions

View File

@ -7,4 +7,4 @@ class EndpointItems(Item):
method = Field()
endpoint = Field()
inclusions = Field()
params = Field()
req_param = Field()

View File

@ -8,7 +8,7 @@ class ApiSpider(scrapy.Spider):
def start_requests(self):
urls = [
"https://developers.northpass.com/reference/get_v2-activities",
"https://developers.northpass.com/reference/get_v2-activities"
]
for url in urls:
yield scrapy.Request(url=url, meta=dict(
@ -27,13 +27,25 @@ class ApiSpider(scrapy.Spider):
end_item = EndpointItems()
end_item['inclusions'] = []
end_item['params'] = []
end_item['req_param'] = []
for item in response.xpath('//*[@id="Explorer"]'):
end_item['title'] = response.xpath('//*[@id="content"]/header[1]/div[1]/h1/text()').get()
end_item['method'] = response.xpath('//*[@id="content"]/header[1]/div[2]/span[1]/text()').get()
end_item['endpoint'] = response.xpath('//*[@id="content"]/header[1]/div[2]/span[2]/text()[2]').get()
end_item['endpoint'] = response.xpath('//*[@id="content"]/header[1]/div[2]/span[2]').xpath("@title").extract()
end_item['req_param'] = response.xpath('//*[@id="content"]/header[1]/div[2]/span[2]/label/text()').get()
required = response.xpath('//*[@id="path-getV2GroupsGroup_uuidMemberships"]/div/div[1]/div/div[2]/text()').get()
if required is not None:
if "required" in required:
req_param = end_item['req_param']
else:
pass
else:
req_param = ""
end_item['inclusions'].append(response.xpath('//*[starts-with(@id,"query")]/div/p/code/span[position() >= 1 and not(position() > 15)]/text()').get())
#end_item['params'].append(response.xpath('//*[starts-with(@id,"path"]/div/div[1]/div/label/text()').get())
if end_item['inclusions'] is not None:
inclusions = end_item['inclusions']
else:
@ -43,6 +55,7 @@ class ApiSpider(scrapy.Spider):
end_item['title'] : {
'method' : end_item['method'],
'endpoint' : end_item['endpoint'],
'req_param' : req_param,
'inclusions' : inclusions
}
}
@ -53,7 +66,7 @@ class ApiSpider(scrapy.Spider):
self.log(northpass_endpoints)
next_page = response.xpath('//*[@id="content"]/div[4]/nav/a[2]/@href').get()
self.log(f"The next page is {next_page}")
# self.log(f"The next page is {next_page}")
if next_page is not None:
nexturl = response.urljoin(next_page)

View File

@ -1,202 +0,0 @@
[
{"List activities": {"method": "get", "endpoint": "/v2/activities"}},
{},
{"Fetch an activity": {"method": "get", "endpoint": "/v2/activities/"}},
{},
{"BambooHR configuration": {"method": "get", "endpoint": "/v2/apps/bamboo_hr"}},
{},
{"Update BambooHR configuration": {"method": "put", "endpoint": "/v2/apps/bamboo_hr"}},
{},
{"Delete BambooHR configuration": {"method": "delete", "endpoint": "/v2/apps/bamboo_hr"}},
{},
{"List assignment submissions": {"method": "get", "endpoint": "/v2/assignments/"}},
{},
{"Fetch an assignment submission": {"method": "get", "endpoint": "/v2/assignments/"}},
{},
{"List all assignments": {"method": "get", "endpoint": "/v2/assignments"}},
{},
{"Bulk add courses to groups": {"method": "post", "endpoint": "/v2/bulk/groups/courses"}},
{},
{"Bulk create groups for a school": {"method": "post", "endpoint": "/v2/bulk/groups"}},
{},
{"Bulk add people to groups": {"method": "post", "endpoint": "/v2/bulk/people/membership"}},
{},
{"Bulk enroll people to courses [deprecated]": {"method": "post", "endpoint": "/v2/bulk/enrollments"}},
{},
{"Bulk enroll people to courses": {"method": "post", "endpoint": "/v2/bulk/people/course"}},
{},
{"Bulk invite people to a school": {"method": "post", "endpoint": "/v2/bulk/people"}},
{},
{"Bulk resend school inviation to people": {"method": "post", "endpoint": "/v2/bulk/people/resend_invitation"}},
{},
{"List categories": {"method": "get", "endpoint": "/v2/categories"}},
{},
{"Create a category": {"method": "post", "endpoint": "/v2/categories"}},
{},
{"Fetch a category": {"method": "get", "endpoint": "/v2/categories/"}},
{},
{"Update a category": {"method": "put", "endpoint": "/v2/categories/"}},
{},
{"Delete a category": {"method": "delete", "endpoint": "/v2/categories/"}},
{},
{"Resend communication": {"method": "post", "endpoint": "/v2/communications/deliveries/"}},
{},
{"List deliveries": {"method": "get", "endpoint": "/v2/communications/deliveries/"}},
{},
{"Update attendance confirmation notification": {"method": "put", "endpoint": "/v2/communications/emails/attendance_confirmation"}},
{},
{"Update courses incomplete notification": {"method": "put", "endpoint": "/v2/communications/emails/courses_incomplete_notification"}},
{},
{"Update new courses notification": {"method": "put", "endpoint": "/v2/communications/emails/new_courses_notification"}},
{},
{"Update training session registration notification": {"method": "put", "endpoint": "/v2/communications/emails/training_session_registration_confirmation"}},
{},
{"List activities for a course": {"method": "get", "endpoint": "/v2/courses/"}},
{},
{"List groups not yet associated with course": {"method": "get", "endpoint": "/v2/courses/"}},
{},
{"List people not yet enrolled with course": {"method": "get", "endpoint": "/v2/courses/"}},
{},
{"List enrollments for a course": {"method": "get", "endpoint": "/v2/courses/"}},
{},
{"Retake a course": {"method": "post", "endpoint": "/v2/courses/"}},
{},
{"List courses": {"method": "get", "endpoint": "/v2/courses"}},
{},
{"List credential achievements": {"method": "get", "endpoint": "/v2/credentials/"}},
{},
{"List credential courses": {"method": "get", "endpoint": "/v2/credentials/"}},
{},
{"Delete course credential": {"method": "delete", "endpoint": "/v2/credentials/"}},
{},
{"List credentials": {"method": "get", "endpoint": "/v2/credentials"}},
{},
{"Delete a credential": {"method": "delete", "endpoint": "/v2/credentials/"}},
{},
{"List custom templates": {"method": "get", "endpoint": "/v2/custom_templates"}},
{},
{"Create a custom template": {"method": "post", "endpoint": "/v2/custom_templates"}},
{},
{"Delete a custom template": {"method": "delete", "endpoint": "/v2/custom_templates/"}},
{},
{"List email senders": {"method": "get", "endpoint": "/v2/email_domains/"}},
{},
{"Update an email sender": {"method": "put", "endpoint": "/v2/email_domains/"}},
{},
{"Delete an email sender": {"method": "delete", "endpoint": "/v2/email_domains/"}},
{},
{"List email domains": {"method": "get", "endpoint": "/v2/email_domains"}},
{},
{"Create an email domain": {"method": "post", "endpoint": "/v2/email_domains"}},
{},
{"Delete an email domain": {"method": "delete", "endpoint": "/v2/email_domains/"}},
{},
{"List events": {"method": "get", "endpoint": "/v2/events"}},
{},
{"List group's courses": {"method": "get", "endpoint": "/v2/groups/"}},
{},
{"List group's memberships": {"method": "get", "endpoint": "/v2/groups/"}},
{},
{"Add courses to a group": {"method": "post", "endpoint": "/v2/groups/"}},
{},
{"Add people to a group": {"method": "post", "endpoint": "/v2/groups/"}},
{},
{"List groups": {"method": "get", "endpoint": "/v2/groups"}},
{},
{"Create a group": {"method": "post", "endpoint": "/v2/groups"}},
{},
{"Fetch a group": {"method": "get", "endpoint": "/v2/groups/"}},
{},
{"Update a group": {"method": "put", "endpoint": "/v2/groups/"}},
{},
{"Delete a group": {"method": "delete", "endpoint": "/v2/groups/"}},
{},
{"Deactivate a person": {"method": "post", "endpoint": "/v2/people/"}},
{},
{"Reactivate a person": {"method": "delete", "endpoint": "/v2/people/"}},
{},
{"Associate a person with a course": {"method": "post", "endpoint": "/v2/people/"}},
{},
{"Remove a person from a course": {"method": "delete", "endpoint": "/v2/people/"}},
{},
{"Add groups to a person": {"method": "post", "endpoint": "/v2/people/"}},
{},
{"Remove a person from a group": {"method": "delete", "endpoint": "/v2/people/"}},
{},
{"List people": {"method": "get", "endpoint": "/v2/people"}},
{},
{"Create a person": {"method": "post", "endpoint": "/v2/people"}},
{},
{"Fetch a person": {"method": "get", "endpoint": "/v2/people/"}},
{},
{"Update a person": {"method": "put", "endpoint": "/v2/people/"}},
{},
{"Delete a person": {"method": "delete", "endpoint": "/v2/people/"}},
{},
{"List question banks": {"method": "get", "endpoint": "/v2/question_banks"}},
{},
{"Create a question bank": {"method": "post", "endpoint": "/v2/question_banks"}},
{},
{"Fetch a question bank": {"method": "get", "endpoint": "/v2/question_banks/"}},
{},
{"List learner quiz answers": {"method": "get", "endpoint": "/v2/quiz_attempts/"}},
{},
{"List quizzes": {"method": "get", "endpoint": "/v2/quizzes"}},
{},
{"List all assignment submissions": {"method": "get", "endpoint": "/v2/submissions"}},
{},
{"List all configured webhook endpoints": {"method": "get", "endpoint": "/v2/webhook_endpoints"}},
{},
{"Creates new webhook endpoint": {"method": "post", "endpoint": "/v2/webhook_endpoints"}},
{},
{"Updates webhook endpoint": {"method": "put", "endpoint": "/v2/webhook_endpoints/"}},
{},
{"Delete a webhook endpoint": {"method": "delete", "endpoint": "/v2/webhook_endpoints/"}},
{},
{"List all sent webhooks": {"method": "get", "endpoint": "/v2/webhooks"}},
{},
{"Bulk fill courses property values": {"method": "post", "endpoint": "/v2/properties/courses/bulk"}},
{},
{"Bulk clear courses property values": {"method": "delete", "endpoint": "/v2/properties/courses/bulk"}},
{},
{"Bulk fill people property values": {"method": "post", "endpoint": "/v2/properties/people/bulk"}},
{},
{"Bulk clear people property values": {"method": "delete", "endpoint": "/v2/properties/people/bulk"}},
{},
{"List properties available for courses": {"method": "get", "endpoint": "/v2/properties/courses/properties"}},
{},
{"Get available course properties with values": {"method": "get", "endpoint": "/v2/properties/courses/"}},
{},
{"List created property definitions": {"method": "get", "endpoint": "/v2/properties/conditional"}},
{},
{"Create conditional property with mapping": {"method": "post", "endpoint": "/v2/properties/conditional"}},
{},
{"Delete conditional property": {"method": "delete", "endpoint": "/v2/properties/conditional/"}},
{},
{"Update conditional property": {"method": "patch", "endpoint": "/v2/properties/conditional/"}},
{},
{"List properties available for people": {"method": "get", "endpoint": "/v2/properties/people/properties"}},
{},
{"Get available person properties with values": {"method": "get", "endpoint": "/v2/properties/people/"}},
{},
{"List unique values for property": {"method": "get", "endpoint": "/v2/properties/property_definitions/"}},
{},
{"List created property definitions": {"method": "get", "endpoint": "/v2/properties/property_definitions"}},
{},
{"Create property definition": {"method": "post", "endpoint": "/v2/properties/property_definitions"}},
{},
{"Get property definition": {"method": "get", "endpoint": "/v2/properties/property_definitions/"}},
{},
{"Delete property definition": {"method": "delete", "endpoint": "/v2/properties/property_definitions/"}},
{},
{"Create property definition": {"method": "patch", "endpoint": "/v2/properties/property_definitions/"}},
{},
{"List properties available for school": {"method": "get", "endpoint": "/v2/properties/school/properties"}},
{},
{"Get available school properties with values": {"method": "get", "endpoint": "/v2/properties/school"}},
{},
{"Clear school properties with values": {"method": "delete", "endpoint": "/v2/properties/school"}},
{},
{"Fill school properties with values": {"method": "patch", "endpoint": "/v2/properties/school"}},
{}
]

View File

@ -0,0 +1,202 @@
[
{"List activities": {"method": "get", "endpoint": ["https://api.northpass.com/v2/activities"], "req_param": "", "inclusions": ["course"]}},
{},
{"Fetch an activity": {"method": "get", "endpoint": ["https://api.northpass.com/v2/activities/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"BambooHR configuration": {"method": "get", "endpoint": ["https://api.northpass.com/v2/apps/bamboo_hr"], "req_param": "", "inclusions": [null]}},
{},
{"Update BambooHR configuration": {"method": "put", "endpoint": ["https://api.northpass.com/v2/apps/bamboo_hr"], "req_param": "", "inclusions": [null]}},
{},
{"Delete BambooHR configuration": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/apps/bamboo_hr"], "req_param": "", "inclusions": [null]}},
{},
{"List assignment submissions": {"method": "get", "endpoint": ["https://api.northpass.com/v2/assignments/{assignment_uuid}/submissions"], "req_param": "", "inclusions": ["assignment"]}},
{},
{"Fetch an assignment submission": {"method": "get", "endpoint": ["https://api.northpass.com/v2/assignments/{assignment_uuid}/submissions/{assignment_submission_uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"List all assignments": {"method": "get", "endpoint": ["https://api.northpass.com/v2/assignments"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk add courses to groups": {"method": "post", "endpoint": ["https://api.northpass.com/v2/bulk/groups/courses"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk create groups for a school": {"method": "post", "endpoint": ["https://api.northpass.com/v2/bulk/groups"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk add people to groups": {"method": "post", "endpoint": ["https://api.northpass.com/v2/bulk/people/membership"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk enroll people to courses [deprecated]": {"method": "post", "endpoint": ["https://api.northpass.com/v2/bulk/enrollments"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk enroll people to courses": {"method": "post", "endpoint": ["https://api.northpass.com/v2/bulk/people/course"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk invite people to a school": {"method": "post", "endpoint": ["https://api.northpass.com/v2/bulk/people"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk resend school inviation to people": {"method": "post", "endpoint": ["https://api.northpass.com/v2/bulk/people/resend_invitation"], "req_param": "", "inclusions": [null]}},
{},
{"List categories": {"method": "get", "endpoint": ["https://api.northpass.com/v2/categories"], "req_param": "", "inclusions": [null]}},
{},
{"Create a category": {"method": "post", "endpoint": ["https://api.northpass.com/v2/categories"], "req_param": "", "inclusions": [null]}},
{},
{"Fetch a category": {"method": "get", "endpoint": ["https://api.northpass.com/v2/categories/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Update a category": {"method": "put", "endpoint": ["https://api.northpass.com/v2/categories/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Delete a category": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/categories/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Resend communication": {"method": "post", "endpoint": ["https://api.northpass.com/v2/communications/deliveries/{delivery_uuid}/resend"], "req_param": "", "inclusions": [null]}},
{},
{"List deliveries": {"method": "get", "endpoint": ["https://api.northpass.com/v2/communications/deliveries/"], "req_param": "", "inclusions": ["person"]}},
{},
{"Update attendance confirmation notification": {"method": "put", "endpoint": ["https://api.northpass.com/v2/communications/emails/attendance_confirmation"], "req_param": "", "inclusions": [null]}},
{},
{"Update courses incomplete notification": {"method": "put", "endpoint": ["https://api.northpass.com/v2/communications/emails/courses_incomplete_notification"], "req_param": "", "inclusions": [null]}},
{},
{"Update new courses notification": {"method": "put", "endpoint": ["https://api.northpass.com/v2/communications/emails/new_courses_notification"], "req_param": "", "inclusions": [null]}},
{},
{"Update training session registration notification": {"method": "put", "endpoint": ["https://api.northpass.com/v2/communications/emails/training_session_registration_confirmation"], "req_param": "", "inclusions": [null]}},
{},
{"List activities for a course": {"method": "get", "endpoint": ["https://api.northpass.com/v2/courses/{course_uuid}/activities"], "req_param": "", "inclusions": ["course"]}},
{},
{"List groups not yet associated with course": {"method": "get", "endpoint": ["https://api.northpass.com/v2/courses/{course_uuid}/available_groups"], "req_param": "", "inclusions": [null]}},
{},
{"List people not yet enrolled with course": {"method": "get", "endpoint": ["https://api.northpass.com/v2/courses/{course_uuid}/available_people"], "req_param": "", "inclusions": [null]}},
{},
{"List enrollments for a course": {"method": "get", "endpoint": ["https://api.northpass.com/v2/courses/{course_uuid}/enrollments"], "req_param": "", "inclusions": ["person"]}},
{},
{"Retake a course": {"method": "post", "endpoint": ["https://api.northpass.com/v2/courses/{course_uuid}/people/{person_uuid}/retakes"], "req_param": "", "inclusions": [null]}},
{},
{"List courses": {"method": "get", "endpoint": ["https://api.northpass.com/v2/courses"], "req_param": "", "inclusions": ["instructor_partnerships"]}},
{},
{"List credential achievements": {"method": "get", "endpoint": ["https://api.northpass.com/v2/credentials/{credential_uuid}/achievements"], "req_param": "", "inclusions": [null]}},
{},
{"List credential courses": {"method": "get", "endpoint": ["https://api.northpass.com/v2/credentials/{credential_uuid}/courses"], "req_param": "", "inclusions": [null]}},
{},
{"Delete course credential": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/credentials/{credential_uuid}/courses/{course_uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"List credentials": {"method": "get", "endpoint": ["https://api.northpass.com/v2/credentials"], "req_param": "", "inclusions": [null]}},
{},
{"Delete a credential": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/credentials/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"List custom templates": {"method": "get", "endpoint": ["https://api.northpass.com/v2/custom_templates"], "req_param": "", "inclusions": [null]}},
{},
{"Create a custom template": {"method": "post", "endpoint": ["https://api.northpass.com/v2/custom_templates"], "req_param": "", "inclusions": [null]}},
{},
{"Delete a custom template": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/custom_templates/"], "req_param": "", "inclusions": [null]}},
{},
{"List email senders": {"method": "get", "endpoint": ["https://api.northpass.com/v2/email_domains/{email_domain_uuid}/email_senders"], "req_param": "", "inclusions": [null]}},
{},
{"Update an email sender": {"method": "put", "endpoint": ["https://api.northpass.com/v2/email_domains/{email_domain_uuid}/email_senders/{email_sender_uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Delete an email sender": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/email_domains/{email_domain_uuid}/email_senders/{email_sender_uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"List email domains": {"method": "get", "endpoint": ["https://api.northpass.com/v2/email_domains"], "req_param": "", "inclusions": ["email_senders"]}},
{},
{"Create an email domain": {"method": "post", "endpoint": ["https://api.northpass.com/v2/email_domains"], "req_param": "", "inclusions": [null]}},
{},
{"Delete an email domain": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/email_domains/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"List events": {"method": "get", "endpoint": ["https://api.northpass.com/v2/events"], "req_param": "", "inclusions": [null]}},
{},
{"List group's courses": {"method": "get", "endpoint": ["https://api.northpass.com/v2/groups/{group_uuid}/courses"], "req_param": "", "inclusions": [null]}},
{},
{"List group's memberships": {"method": "get", "endpoint": ["https://api.northpass.com/v2/groups/{group_uuid}/memberships"], "req_param": "{group_uuid}", "inclusions": [null]}},
{},
{"Add courses to a group": {"method": "post", "endpoint": ["https://api.northpass.com/v2/groups/{group_uuid}/relationships/courses"], "req_param": "", "inclusions": [null]}},
{},
{"Add people to a group": {"method": "post", "endpoint": ["https://api.northpass.com/v2/groups/{group_uuid}/relationships/people"], "req_param": "", "inclusions": [null]}},
{},
{"List groups": {"method": "get", "endpoint": ["https://api.northpass.com/v2/groups"], "req_param": "", "inclusions": [null]}},
{},
{"Create a group": {"method": "post", "endpoint": ["https://api.northpass.com/v2/groups"], "req_param": "", "inclusions": [null]}},
{},
{"Fetch a group": {"method": "get", "endpoint": ["https://api.northpass.com/v2/groups/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Update a group": {"method": "put", "endpoint": ["https://api.northpass.com/v2/groups/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Delete a group": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/groups/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Deactivate a person": {"method": "post", "endpoint": ["https://api.northpass.com/v2/people/{person_uuid}/deactivations"], "req_param": "", "inclusions": [null]}},
{},
{"Reactivate a person": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/people/{person_uuid}/deactivations"], "req_param": "", "inclusions": [null]}},
{},
{"Associate a person with a course": {"method": "post", "endpoint": ["https://api.northpass.com/v2/people/{person_uuid}/relationships/courses"], "req_param": "", "inclusions": [null]}},
{},
{"Remove a person from a course": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/people/{person_uuid}/relationships/courses"], "req_param": "", "inclusions": [null]}},
{},
{"Add groups to a person": {"method": "post", "endpoint": ["https://api.northpass.com/v2/people/{person_uuid}/relationships/groups"], "req_param": "", "inclusions": [null]}},
{},
{"Remove a person from a group": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/people/{person_uuid}/relationships/groups"], "req_param": "", "inclusions": [null]}},
{},
{"List people": {"method": "get", "endpoint": ["https://api.northpass.com/v2/people"], "req_param": "", "inclusions": ["school"]}},
{},
{"Create a person": {"method": "post", "endpoint": ["https://api.northpass.com/v2/people"], "req_param": "", "inclusions": [null]}},
{},
{"Fetch a person": {"method": "get", "endpoint": ["https://api.northpass.com/v2/people/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Update a person": {"method": "put", "endpoint": ["https://api.northpass.com/v2/people/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"Delete a person": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/people/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"List question banks": {"method": "get", "endpoint": ["https://api.northpass.com/v2/question_banks"], "req_param": "", "inclusions": ["dynamic_quizzes"]}},
{},
{"Create a question bank": {"method": "post", "endpoint": ["https://api.northpass.com/v2/question_banks"], "req_param": "", "inclusions": [null]}},
{},
{"Fetch a question bank": {"method": "get", "endpoint": ["https://api.northpass.com/v2/question_banks/{uuid}"], "req_param": "", "inclusions": [null]}},
{},
{"List learner quiz answers": {"method": "get", "endpoint": ["https://api.northpass.com/v2/quiz_attempts/{quiz_attempt_uuid}/answers"], "req_param": "", "inclusions": [null]}},
{},
{"List quizzes": {"method": "get", "endpoint": ["https://api.northpass.com/v2/quizzes"], "req_param": "", "inclusions": ["activities"]}},
{},
{"List all assignment submissions": {"method": "get", "endpoint": ["https://api.northpass.com/v2/submissions"], "req_param": "", "inclusions": ["assignment"]}},
{},
{"List all configured webhook endpoints": {"method": "get", "endpoint": ["https://api.northpass.com/v2/webhook_endpoints"], "req_param": "", "inclusions": [null]}},
{},
{"Creates new webhook endpoint": {"method": "post", "endpoint": ["https://api.northpass.com/v2/webhook_endpoints"], "req_param": "", "inclusions": [null]}},
{},
{"Updates webhook endpoint": {"method": "put", "endpoint": ["https://api.northpass.com/v2/webhook_endpoints/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"Delete a webhook endpoint": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/webhook_endpoints/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"List all sent webhooks": {"method": "get", "endpoint": ["https://api.northpass.com/v2/webhooks"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk fill courses property values": {"method": "post", "endpoint": ["https://api.northpass.com/v2/properties/courses/bulk"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk clear courses property values": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/properties/courses/bulk"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk fill people property values": {"method": "post", "endpoint": ["https://api.northpass.com/v2/properties/people/bulk"], "req_param": "", "inclusions": [null]}},
{},
{"Bulk clear people property values": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/properties/people/bulk"], "req_param": "", "inclusions": [null]}},
{},
{"List properties available for courses": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/courses/properties"], "req_param": "", "inclusions": [null]}},
{},
{"Get available course properties with values": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/courses/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"List created property definitions": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/conditional"], "req_param": "", "inclusions": [null]}},
{},
{"Create conditional property with mapping": {"method": "post", "endpoint": ["https://api.northpass.com/v2/properties/conditional"], "req_param": "", "inclusions": [null]}},
{},
{"Delete conditional property": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/properties/conditional/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"Update conditional property": {"method": "patch", "endpoint": ["https://api.northpass.com/v2/properties/conditional/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"List properties available for people": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/people/properties"], "req_param": "", "inclusions": [null]}},
{},
{"Get available person properties with values": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/people/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"List unique values for property": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/property_definitions/{id}/unique_values"], "req_param": "", "inclusions": [null]}},
{},
{"List created property definitions": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/property_definitions"], "req_param": "", "inclusions": [null]}},
{},
{"Create property definition": {"method": "post", "endpoint": ["https://api.northpass.com/v2/properties/property_definitions"], "req_param": "", "inclusions": [null]}},
{},
{"Get property definition": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/property_definitions/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"Delete property definition": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/properties/property_definitions/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"Create property definition": {"method": "patch", "endpoint": ["https://api.northpass.com/v2/properties/property_definitions/{id}"], "req_param": "", "inclusions": [null]}},
{},
{"List properties available for school": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/school/properties"], "req_param": "", "inclusions": [null]}},
{},
{"Get available school properties with values": {"method": "get", "endpoint": ["https://api.northpass.com/v2/properties/school"], "req_param": "", "inclusions": [null]}},
{},
{"Clear school properties with values": {"method": "delete", "endpoint": ["https://api.northpass.com/v2/properties/school"], "req_param": "", "inclusions": [null]}},
{},
{"Fill school properties with values": {"method": "patch", "endpoint": ["https://api.northpass.com/v2/properties/school"], "req_param": "", "inclusions": [null]}},
{}
]