{"info":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","description":"<html><head></head><body><h2 id=\"getting-started\">Getting Started</h2>\n<p>Suitable's API leverages a RESTful uniform interface with all endpoints requiring the use of HTTPS for communication. Before diving in you'll want to coordinate with a support engineer to confirm your institution's resource identifiers and administrator credentials for the respective environment you are communicating with:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Identifier</th>\n<th>Production</th>\n<th>Test</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>API_ENV</code></td>\n<td><code>app</code></td>\n<td><code>sandbox</code></td>\n</tr>\n<tr>\n<td><code>INSTITUTION_ID</code></td>\n<td>?</td>\n<td>?</td>\n</tr>\n<tr>\n<td><code>CATALOG_ID</code></td>\n<td>?</td>\n<td>?</td>\n</tr>\n<tr>\n<td><code>USERNAME</code></td>\n<td>?</td>\n<td>?</td>\n</tr>\n<tr>\n<td><code>PASSWORD</code></td>\n<td>?</td>\n<td>?</td>\n</tr>\n</tbody>\n</table>\n</div><p>Once the above values have been identified you can quickly get started by clicking the <strong>Run in Postman</strong> button above. <a href=\"https://learning.getpostman.com/docs/postman/launching_postman/installation_and_updates/\">Postman</a> is a free tool which helps developers run and debug API requests. All endpoints documented below are easily runnable directly within <a href=\"https://learning.getpostman.com/docs/postman/launching_postman/installation_and_updates/\">Postman</a>. When running the collection it recommended to create an <a href=\"https://learning.getpostman.com/docs/postman/environments_and_globals/manage_environments/\">Environment</a> to configure your identifiers and credentials.</p>\n<h1 id=\"authorization\">Authorization</h1>\n<p>Endpoint authorization is handle through the use of a <a href=\"https://learning.getpostman.com/docs/postman/sending_api_requests/authorization/#bearer-token\">Bearer Token</a>. A token is required to be set in the <code>Authorization</code> header for each request that requires Authorization, e.g. <code>Authorization: Bearer</code> . If you are interacting with this API collection in Postman these headers will be configured for you after you've authenticated via the <a href=\"#00809ff1-90fd-40a0-8cae-4575fe24d9eb\">Login</a> endpoint.</p>\n<h2 id=\"authentication\">Authentication</h2>\n<p>To receive an <code>access_token</code> to use as your Bearer Token you first need to authenticate via the <a href=\"#00809ff1-90fd-40a0-8cae-4575fe24d9eb\">Login</a> endpoint. After a successful authentication you can extract the <code>access_token</code> token in the response to use as your Bearer Token for subsequent API requests.</p>\n<h2 id=\"throttling\">Throttling</h2>\n<p>There are currently no usage limits, however, the API does employ abuse limits. If clients are found flooding the API with excessive 4xx or 5xx requests, we reserve the right to impose a short ban on the client. Keeping 4xx or 5xx requests to under 10 in a minute will ensure your client isn't affected.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Authorization","slug":"authorization"}],"owner":"147615","collectionId":"dc4a8439-06a6-4960-b2c7-138a33712480","publishedId":"S1EWQb2k","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"1B212C","highlight":"0D7CBC"},"publishDate":"2020-12-15T15:35:14.000Z"},"item":[{"name":"Auth","item":[{"name":"Login","event":[{"listen":"test","script":{"id":"08a3b9a3-99a3-49f9-b753-4cec98010b3b","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"API_TOKEN\", jsonData.access_token);","postman.setEnvironmentVariable(\"REFRESH_TOKEN\", jsonData.refresh_token);"],"type":"text/javascript"}}],"id":"00809ff1-90fd-40a0-8cae-4575fe24d9eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"username\": \"{{USERNAME}}\", \"password\": \"{{PASSWORD}}\"\n}"},"url":"https://{{API_ENV}}.suitable.co/v1/auth/login","description":"<p>Retrieve a bearer <code>access_token</code> by passing your account credentials. Tokens are valid for 2 hours.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"username\": \"string\",\n    \"token_type\": \"string\",\n    \"access_token\": \"string\",\n    \"expires_in\": \"integer\",\n    \"refresh_token\": \"string\"\n}\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","auth","login"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"00809ff1-90fd-40a0-8cae-4575fe24d9eb"}],"id":"cb9b237b-3c88-4b8b-b06f-4eff413dedab","_postman_id":"cb9b237b-3c88-4b8b-b06f-4eff413dedab","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"Me","item":[{"name":"List My Available Institutions","id":"2b525dff-bbd8-4c02-8816-715885ffa1e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/me/show","description":"<p>Returns a list of institutions the user is authorized to access. Each institution references its id, pathway id, and the highest authority held by the user. This API is useful for discovering which institutions are available, to gain detailed information on an instituion see <strong>Me &gt; Get an Institution</strong>.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>institutions[].id</code></td>\n<td>Institution's identifier</td>\n</tr>\n<tr>\n<td><code>institutions[].pathwayId</code></td>\n<td>Institution's pathway/catalog identifier (if applicable)</td>\n</tr>\n<tr>\n<td><code>institutions[].label</code></td>\n<td>Name of the institution</td>\n</tr>\n<tr>\n<td><code>institutions[].subLabel</code></td>\n<td>Secondary name of the institution</td>\n</tr>\n<tr>\n<td><code>institutions[].photoUrl</code></td>\n<td>Instituton's logo</td>\n</tr>\n<tr>\n<td><code>institutions[].type</code></td>\n<td>Type of institution (Pathway</td>\n</tr>\n<tr>\n<td><code>institutions[].accountType</code></td>\n<td>Highest authority held by the user</td>\n</tr>\n<tr>\n<td><code>user.username</code></td>\n<td>User's registered username</td>\n</tr>\n<tr>\n<td><code>profile.id</code></td>\n<td>Unique Suitable Profile ID</td>\n</tr>\n<tr>\n<td><code>profile.firstName</code></td>\n<td>User's first name</td>\n</tr>\n<tr>\n<td><code>profile.lastName</code></td>\n<td>User's last name</td>\n</tr>\n<tr>\n<td><code>profile.photoUrl</code></td>\n<td>User's photo url</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"institutions\": [\n            {\n                \"id\": \"string\",\n                \"pathwayId\": \"string\",\n                \"label\": \"string\",\n                \"subLabel\": \"string\",\n                \"photoUrl\": \"string\",\n                \"type\": \"string\",\n                \"accountType\": \"string\"\n            }\n        ],\n        \"user\": {\n            \"id\": \"string\",\n            \"username\": \"string\"\n        },\n        \"profile\": {\n            \"id\": \"string\",\n            \"firstName\": \"string\",\n            \"lastName\": \"string\",\n            \"photoUrl\": \"string\"\n        }\n    }\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","me","show"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"2b525dff-bbd8-4c02-8816-715885ffa1e1"},{"name":"Get an Institution","id":"19789f8e-cb53-488a-8d51-51998663aba9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/me/institutions/{{INSTITUTION_ID}}","description":"<p>Returns detailed information on an institution, such as its enabled services and pathway details. This API can be helpful to discover the competencies offered by the institution's pathway.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>institution.id</code></td>\n<td>Institution's identifier</td>\n</tr>\n<tr>\n<td><code>institution.pathwayId</code></td>\n<td>Institution's pathway/catalog identifier (if applicable)</td>\n</tr>\n<tr>\n<td><code>institution.label</code></td>\n<td>Name of the institution</td>\n</tr>\n<tr>\n<td><code>institution.subLabel</code></td>\n<td>Secondary name of the institution</td>\n</tr>\n<tr>\n<td><code>institution.photoUrl</code></td>\n<td>Institution's logo</td>\n</tr>\n<tr>\n<td><code>institution.type</code></td>\n<td>Type of institution (Pathway</td>\n</tr>\n<tr>\n<td><code>institution.accountType</code></td>\n<td>Highest authority held by the user</td>\n</tr>\n<tr>\n<td><code>institution.roles[]</code></td>\n<td>Authorities held by the user</td>\n</tr>\n<tr>\n<td><code>institution.permissions[].permission</code></td>\n<td>Eligible services at this institution</td>\n</tr>\n<tr>\n<td><code>institution.location</code></td>\n<td>Institution's recorded location</td>\n</tr>\n<tr>\n<td><code>pathway.id</code></td>\n<td>Pathway's identifier</td>\n</tr>\n<tr>\n<td><code>pathway.title</code></td>\n<td>Pathway's title</td>\n</tr>\n<tr>\n<td><code>pathway.description</code></td>\n<td>Pathway's advertised description</td>\n</tr>\n<tr>\n<td><code>pathway.shortTitle</code></td>\n<td>Pathway's preferred abbreviation</td>\n</tr>\n<tr>\n<td><code>pathway.competencies[].id</code></td>\n<td>Pathway's offered competency identifier</td>\n</tr>\n<tr>\n<td><code>pathway.competencies[].title</code></td>\n<td>Competency's title</td>\n</tr>\n<tr>\n<td><code>pathway.competencies[].description</code></td>\n<td>Competency's advertised description</td>\n</tr>\n<tr>\n<td><code>pathway.competencies[].shortTitle</code></td>\n<td>Competency's preferred abbreviation</td>\n</tr>\n<tr>\n<td><code>pathway.competencies[].color</code></td>\n<td>Competency's color code</td>\n</tr>\n<tr>\n<td><code>profile.notifications</code></td>\n<td>Denotes if notifications are enabled for this institution</td>\n</tr>\n<tr>\n<td><code>profile.contactEmail</code></td>\n<td>User's contact email at this institution</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"institution\": {\n            \"id\": \"string\",\n            \"pathwayId\": \"string\",\n            \"label\": \"string\",\n            \"subLabel\": \"string\",\n            \"photoUrl\": \"string\",\n            \"type\": \"string\",\n            \"accountType\": \"string\",\n            \"roles\": [\n                \"string\"\n            ],\n            \"permissions\": [\n                {\n                    \"permission\": \"string\"\n                }\n            ],\n            \"name\": \"string\",\n            \"location\": \"string\"\n        },\n        \"pathway\": {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"shortTitle\": \"string\",\n            \"competencies\": [\n                {\n                    \"id\": \"string\",\n                    \"title\": \"string\",\n                    \"description\": \"string\",\n                    \"color\": \"string\"\n                }\n            ]\n        },\n        \"profile\": {\n            \"notifications\": \"boolean\",\n            \"contactEmail\": \"string\"\n        }\n    }\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","me","institutions","{{INSTITUTION_ID}}"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"19789f8e-cb53-488a-8d51-51998663aba9"}],"id":"fadd855d-8c27-4a15-b44e-093209ba6149","_postman_id":"fadd855d-8c27-4a15-b44e-093209ba6149","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"User Management","item":[{"name":"Update Student Roster Info (Plain Text Body)","id":"555d9146-07d6-469e-b8d9-b14a09a4b4c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"text/plain","type":"text"}],"body":{"mode":"raw","raw":"username, first_name, last_name, class_standing\ntest.student@institution.edu, Test, Student, Freshman","options":{"raw":{"language":"text"}}},"url":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/roster.feed","description":"<p>Request returns the time of job creation. Upon success/failure processing, the requesting user is emailed the result.</p>\n<blockquote>\n<p>Note: When utilizing this request via the test environment, status emails are not sent. Please coordinate with your support engineer POC to retrieve status information. </p>\n</blockquote>\n<h4 id=\"request-body\">Request Body</h4>\n<p>The Content-Type header must be set to <code>text/plain</code> and the body of the request must be in the format similar to a CSV with the headers in the first row and the subsequent data following as in the example below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>username, first_name, last_name, class_standing\ntest.student@institution.edu, Test, Student, Freshman\n\n</code></pre><h4 id=\"additional-info\">Additional Info</h4>\n<p>Before sending roster files a CSV configuration must be set on your institution's behalf. You will need to send an example CSV file to a Suitable engineer for this route to be set up. The minimum set of information that is required in this CSV is the following:</p>\n<ul>\n<li><p>Non-Aliased School Email (Directly correlates to a user's <a href=\"https://www.educause.edu/fidm/attributes#eppn\"><b>EduPrincipalPersonName</b></a>)</p>\n</li>\n<li><p>First Name</p>\n</li>\n<li><p>Last Name</p>\n</li>\n<li><p>Class Standing (Acceptable values below)</p>\n</li>\n</ul>\n<p>When constructing the CSV please ensure columns are surrounded with double quotes and delimited by commas. Lastly, a header row is required before any data rows.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Username</th>\n<th>First Name</th>\n<th>Last Name</th>\n<th>Class Standing</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"https://mailto:jane.apple@institution.edu\">jane.apple@institution.edu</a></td>\n<td>Jane</td>\n<td>Appleseed</td>\n<td>Sophomore</td>\n</tr>\n<tr>\n<td><a href=\"https://mailto:john.apple@institution.edu\">john.apple@institution.edu</a></td>\n<td>John</td>\n<td>Appleseed</td>\n<td>Freshman</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"multi-valued-columns\">Multi-Valued Columns</h4>\n<p>Custom data columns that are multi-valued need to be delimited by a semicolon <code>;</code>. For example, if a majors column exists and a student has both Psychology and Marketing majors this would be represented as <code>Psychology; Marketing</code> in the column.</p>\n<h4 id=\"mappings\">Mappings</h4>\n<p>The following are lists of standard fields and formats, that can be added to a roster file without requiring a custom data column.</p>\n<ul>\n<li><p>Class Standing (Acceptable values below)</p>\n<ul>\n<li><p>Freshman</p>\n</li>\n<li><p>Sophomore</p>\n</li>\n<li><p>Junior</p>\n</li>\n<li><p>Senior</p>\n</li>\n<li><p>Graduate</p>\n</li>\n<li><p>Alumni</p>\n</li>\n</ul>\n</li>\n<li><p>Expected Graduation Date (Acceptable formats below)</p>\n<ul>\n<li><p>YYYY-MM-DD</p>\n</li>\n<li><p>MM/DD/YYYY</p>\n</li>\n</ul>\n</li>\n<li><p>Gender</p>\n<ul>\n<li><p>UNDISCLOSED</p>\n</li>\n<li><p>NONBINARY</p>\n</li>\n<li><p>FEMALE</p>\n</li>\n<li><p>MALE</p>\n</li>\n</ul>\n</li>\n<li><p>International Student</p>\n<ul>\n<li><p>TRUE</p>\n</li>\n<li><p>FALSE</p>\n</li>\n</ul>\n</li>\n<li><p>Career Level</p>\n<ul>\n<li><p>UNDERGRADUATE</p>\n</li>\n<li><p>GRADUATE</p>\n</li>\n<li><p>ALUMNI</p>\n</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","institutions","{{INSTITUTION_ID}}","roster.feed"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"555d9146-07d6-469e-b8d9-b14a09a4b4c1"},{"name":"Update Student Roster Info (Multipart/Form-Data Body)","id":"724158f3-1c3a-41cd-b3da-1ade74560799","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/roster.feed","description":"<p>This request is the legacy method for Update Student Roster which utilizes a <code>multipart/form-data</code> body rather than <code>text/plain</code></p>\n<h4 id=\"request-body\">Request Body</h4>\n<p>A <code>multipart/form-data</code> encoded body with the CSV file. The input parameter MUST be named <code>file</code>.</p>\n<p>When constructing the CSV please ensure columns are surrounded with double quotes and delimited by commas. Lastly, a header row is required before any data rows. An example layout can be viewed below:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Username</th>\n<th>First Name</th>\n<th>Last Name</th>\n<th>Class Standing</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"https://mailto:jane.apple@institution.edu\">jane.apple@institution.edu</a></td>\n<td>Jane</td>\n<td>Appleseed</td>\n<td>Sophomore</td>\n</tr>\n<tr>\n<td><a href=\"https://mailto:john.apple@institution.edu\">john.apple@institution.edu</a></td>\n<td>John</td>\n<td>Appleseed</td>\n<td>Freshman</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","institutions","{{INSTITUTION_ID}}","roster.feed"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"724158f3-1c3a-41cd-b3da-1ade74560799"},{"name":"Get Roster Job Status","id":"157ad0eb-baf9-44e0-80bd-fbad2de0d4ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/rosterJob/{{jobId}}","description":"<p>Returns status information for a roster import.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>ID of import job</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>Current processing status of job (IN_PROGRESS, COMPLETED, FAILED)</td>\n</tr>\n<tr>\n<td><code>createdAt</code></td>\n<td>Timestamp of when the job was created</td>\n</tr>\n<tr>\n<td><code>completedAt</code></td>\n<td>Timestamp of when the job completed successfully</td>\n</tr>\n<tr>\n<td><code>failedAt</code></td>\n<td>Timestamp of when the job failed</td>\n</tr>\n<tr>\n<td><code>errors[].row</code></td>\n<td>Row number of failing row</td>\n</tr>\n<tr>\n<td><code>errors[].message</code></td>\n<td>Failure reason</td>\n</tr>\n<tr>\n<td><code>ignoredErrors[].row</code></td>\n<td>Row number of skipped row</td>\n</tr>\n<tr>\n<td><code>ignoredErrors[].message</code></td>\n<td>Skip reason</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"id\": \"string\",\n        \"status\": \"string\",\n        \"createdAt\": \"integer\",\n        \"completedAt\": \"integer\",\n        \"failedAt\": \"integer\",\n        \"errors\": [\n            {\n                \"id\": \"string\",\n                \"label\": \"string\"\n            }\n        ],\n        \"ignoredErrors\": [\n            {\n                \"id\": \"string\",\n                \"label\": \"string\"\n            }\n        ]\n    }\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","institutions","{{INSTITUTION_ID}}","rosterJob","{{jobId}}"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"157ad0eb-baf9-44e0-80bd-fbad2de0d4ab"},{"name":"Get Roster Stream","id":"f8cb3a74-750e-43e2-b481-6f1475ccdc8e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/roster/stream?cursor=&query=&status&type&cohortIds&statusIds","description":"<p>Request to retrieve the roster of the provided pathway.</p>\n<p>Request returns 100 users, in alphabetical order, from the provided pathway as well as the cursor for navigating the stream.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?cursor=\n\n</code></pre><p>To retrieve the next 100 users the cursor param should be set to the cursor returned in the previous request. Initial value should be omitted.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?query=\n\n</code></pre><p>Pass any string in here to query users by name, status or username.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?status=\n\n</code></pre><p>Status can be <code>ACTIVE</code> or <code>INACTIVE</code>. Returns users with the requested status.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?type=\n\n</code></pre><p>Type can be <code>STUDENT</code>, <code>CONTRIBUTOR</code>, <code>PUBLISHER</code>, <code>ADVISOR</code> or <code>ADMIN</code>. Returns users of the requested type.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?cohortIds=\n\n</code></pre><p>CohortIds can be the id of a cohort within a student data filter. Will return students associated with that cohort. Valid cohortIds for an institution<br />can be found in the response of the <strong>Get Roster Stream Filters</strong> request.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?statusIds=\n\n</code></pre><p>StatusIds can be the id of a status. Will return students with matching status. Valid statusIds for an institution can be found in the response of the <strong>Get Roster Stream Filters</strong> request.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"meta\": {\n        \"nextCursor\": \"string\",\n        \"nextUrl\" : \"string\"\n    },\n    \"data\": [\n        {\n            \"id\": \"string\",\n            \"userId\": \"string\",\n            \"username\": \"string\",\n            \"firstName\": \"string\",\n            \"lastName\": \"string\",\n            \"contactEmail\": \"string\",\n            \"uniqueId\": \"string\",\n            \"lisPersonSourcedid\": \"string\",\n            \"photoUrl\":  \"string\",\n            \"lastActive\": \"string\",\n            \"type\": \"string\",\n            \"role\": \"string\"\n            \"statusType\": \"string\"\n            \"totalPoints\": \"integer\"\n            \"currentLevel\": {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"description\": \"string\",\n                \"position\": \"integer\",\n                \"iconUrl\": \"string\"\n            },\n            \"cohorts\": [\n                {\n                    \"id\": \"string\",\n                    \"text\": \"string\",\n                    \"group\": \"string\",\n                    \"groupText\": \"string\"\n                }\n            ],\n        }\n    ]\n}\n\n</code></pre>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","institutions","{{INSTITUTION_ID}}","roster","stream"],"host":["{{API_ENV}}","suitable","co"],"query":[{"key":"cursor","value":""},{"key":"query","value":""},{"key":"status","value":""},{"key":"type","value":""},{"key":"cohortIds","value":""},{"key":"statusIds","value":""}],"variable":[]}},"response":[{"id":"9a0a4231-e43b-4501-bc24-f20a452f353b","name":"200 - OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/roster/stream?cursor=UVdKa2FRPT06V21Gc2JXRmhiZz09Ok1qWXlOalU1&query=\"John\"&status=ACTIVE&type=STUDENT","protocol":"https","host":["{{API_ENV}}","suitable","co"],"path":["v1","institutions","{{INSTITUTION_ID}}","roster","stream"],"query":[{"key":"cursor","value":"UVdKa2FRPT06V21Gc2JXRmhiZz09Ok1qWXlOalU1"},{"key":"query","value":"\"John\""},{"key":"status","value":"ACTIVE"},{"key":"type","value":"STUDENT"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 16 Apr 2020 15:18:50 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5e98775a-336fa34db43233216d3a8fdf;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"584ee19649e0e730-EWR","enabled":true},{"key":"Content-Encoding","value":"br","enabled":true},{"key":"cf-request-id","value":"02252b51ec0000e730771b9200000001","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"meta\": {\n        \"nextCursor\": \"UVdKa2FLk2jF21Gc2JXRmhiTr9Q2pOk1qWXlb3AcoP\"\n    },\n    \"data\": [\n        {\n            \"id\": \"237\",\n            \"userId\": \"327\",\n            \"username\": \"john.doe@suitable.edu\",\n            \"firstName\": \"John\",\n            \"lastName\": \"Doe\",\n            \"contactEmail\": \"john.doe@gmail.com\",\n            \"uniqueId\": \"723\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ovF8zC8SFKV1CqnytSon\",\n            \"lastActive\": 1569056441447,\n            \"type\": \"ROLE_STUDENT\",\n            \"statusType\": \"Freshman\"\n        }\n    ]\n}"}],"_postman_id":"f8cb3a74-750e-43e2-b481-6f1475ccdc8e"},{"name":"Get Roster Stream Filters","event":[{"listen":"test","script":{"id":"4db7d67c-8a7c-4e4b-b034-fbf76d9aa118","exec":[""],"type":"text/javascript"}}],"id":"21eaf52c-4a5b-49dd-9173-39e2f4fe3ff1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/roster/filters","description":"<p>Returns a list of applicable roster stream filters for the specified institution. Filters can include an array of options or sub-options. If sub-options exist, these are the applicable values to use for the top level parameter <code>type</code>.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td><strong>Get Roster Stream</strong> API parameter</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td>Paramter name</td>\n</tr>\n<tr>\n<td><code>options[].id</code></td>\n<td>Parameter value (if sub-options array <code>data</code> exists ignore)</td>\n</tr>\n<tr>\n<td><code>options[].label</code></td>\n<td>Parameter value name (if sub-options array <code>data</code> exists ignore)</td>\n</tr>\n<tr>\n<td><code>options[].data[].id</code></td>\n<td>Parameter value</td>\n</tr>\n<tr>\n<td><code>options[].data[].label</code></td>\n<td>Parameter value name</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": [\n        {\n            \"type\": \"string\",\n            \"label\": \"string\",\n            \"options\": [\n                {\n                    \"id\": \"string\",\n                    \"label\": \"string\"\n                }\n            ]\n        },\n        {\n            \"type\": \"string\",\n            \"label\": \"string\",\n            \"options\": [\n                {\n                    \"id\": \"string\",\n                    \"label\": \"string\",\n                    \"data\": [\n                        {\n                            \"id\": \"string\",\n                            \"label\": \"string\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"string\",\n                    \"label\": \"string\",\n                    \"data\": [\n                        {\n                            \"id\": \"string\",\n                            \"label\": \"string\"\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","institutions","{{INSTITUTION_ID}}","roster","filters"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"21eaf52c-4a5b-49dd-9173-39e2f4fe3ff1"}],"id":"d4c78ceb-b1cb-4c2f-9a70-72a4e9d591ec","event":[{"listen":"prerequest","script":{"id":"abd23aac-6364-43c9-a68f-bcf429e01259","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"5670a0f2-f6ef-46b6-8500-1e1a202102c9","type":"text/javascript","exec":[""]}}],"_postman_id":"d4c78ceb-b1cb-4c2f-9a70-72a4e9d591ec","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"Activities","item":[{"name":"Get Activity Stream","event":[{"listen":"test","script":{"id":"283de3db-5fd0-4cda-9d89-972114138c8c","exec":["var jsonData = pm.response.json();","if (jsonData.meta.nextUrl !== null)","    pm.environment.set(\"NEXT_URL\", jsonData.meta.nextUrl);"],"type":"text/javascript"}}],"id":"308592d2-5f76-4cf7-a30f-ed16fc5363d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/stream","description":"<p>Returns a stream of activities based on filter parameters. For a list of applicable filters see <strong>Get Activity Stream Filters</strong>.</p>\n<p>For information on draining a particular stream see the <strong>Get Next Stream Url</strong> helper request that simulates draining a stream by following the series of urls provided in responses. This <strong>Postman</strong> request automatically initializes the <code>NEXT_URL</code> environment variable for the <strong>Get Next Stream Url</strong> request.</p>\n<h4 id=\"parameter---field-glossary\">Parameter - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>cursor</code></td>\n<td>A cursor string that indexes the current stream location</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Full text search string to filter activities by</td>\n</tr>\n<tr>\n<td><code>competencies</code></td>\n<td>Array of competency identifiers to filter activities by</td>\n</tr>\n<tr>\n<td><code>levels</code></td>\n<td>Array of level identifiers to filter activities by</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>Array of experience tag identifiers to filter activities by</td>\n</tr>\n<tr>\n<td><code>types</code></td>\n<td>Array of activity types to filter activities by (<code>TASK</code>, <code>EVENT</code>, <code>CONTAINER</code>, <code>POINTS_CONTAINER</code>)</td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>Specify the stream's sort direction (<code>asc</code>, <code>desc</code>)</td>\n</tr>\n<tr>\n<td><code>orderBy</code></td>\n<td>Specify the axis to order by (<code>dateCreated</code>, <code>endDate</code>, <code>proximityDate</code>, <code>activeDate</code>, <code>lastUpdated</code>)</td>\n</tr>\n<tr>\n<td><code>date</code></td>\n<td>Timestamp to filter activities by on the <code>orderBy</code> axis - Unix timestamp in milliseconds</td>\n</tr>\n<tr>\n<td><code>context</code></td>\n<td>Specify the visibility of the activities by supplying ARCHIVED to this parameter</td>\n</tr>\n</tbody>\n</table>\n</div><p>When supplying any array parameter duplicate the parameter name for each value. For example, to filter by activities of type <code>TASK</code> and <code>EVENT</code> use the query string <code>?types=TASK&amp;types=EVENT</code>.</p>\n<h4 id=\"response---field-glossary\">Response - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>meta.nextUrl</code></td>\n<td>A url to retrieve additional records in this activity stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>meta.nextCursor</code></td>\n<td>A cursor string to retrieve additional records in this activity stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Activity identifier in Suitable</td>\n</tr>\n<tr>\n<td><code>uuid</code></td>\n<td>External identifier of Activity</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>Title of the activity</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Description of the activigy</td>\n</tr>\n<tr>\n<td><code>incentive</code></td>\n<td>Optional incentive for completing the activity</td>\n</tr>\n<tr>\n<td><code>level.id</code></td>\n<td>Level's identifier</td>\n</tr>\n<tr>\n<td><code>level.title</code></td>\n<td>Level's title</td>\n</tr>\n<tr>\n<td><code>level.description</code></td>\n<td>Level's description</td>\n</tr>\n<tr>\n<td><code>level.position</code></td>\n<td>Level's numerical position</td>\n</tr>\n<tr>\n<td><code>competencies[].id</code></td>\n<td>Competency's identifier</td>\n</tr>\n<tr>\n<td><code>competencies[].title</code></td>\n<td>Competency's title</td>\n</tr>\n<tr>\n<td><code>competencies[].description</code></td>\n<td>Competency's advertised description</td>\n</tr>\n<tr>\n<td><code>competencies[].color</code></td>\n<td>Competency's color code</td>\n</tr>\n<tr>\n<td><code>cohorts[].text</code></td>\n<td>Experience tag name</td>\n</tr>\n<tr>\n<td><code>cohorts[].groupText</code></td>\n<td>Experience category name</td>\n</tr>\n<tr>\n<td><code>resources[].label</code></td>\n<td>Descriptive label for remote resource</td>\n</tr>\n<tr>\n<td><code>resources[].url</code></td>\n<td>URL of a remote resource</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>The specific type of activity, can be either <code>TASK</code>, <code>EVENT</code>, <code>CONTAINER</code> (Experience Set), or <code>POINTS_CONTAINER</code> (Point Total Activity)</td>\n</tr>\n<tr>\n<td><code>requiresApproval</code></td>\n<td>Flag that indicates acivity completions must be reviewed and approved by an administrator</td>\n</tr>\n<tr>\n<td><code>requiresSubmission</code></td>\n<td>Flag that indicates acivity completions must include a document or URL attachment</td>\n</tr>\n<tr>\n<td><code>requiresReflection</code></td>\n<td>Flag that indicates acivity completions must include a written reflection</td>\n</tr>\n<tr>\n<td><code>requiresQrCode</code></td>\n<td>Flag that indicates acivity completions are only accepted by scanning a QR code</td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td>Start date &amp; time that completions are allowed - Unix timestamp in milliseconds</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td>End date &amp; time that completions are allowed - Unix timestamp in milliseconds</td>\n</tr>\n<tr>\n<td><code>timeZone</code></td>\n<td>User specified timezone</td>\n</tr>\n<tr>\n<td><code>location</code></td>\n<td>Location of an event</td>\n</tr>\n<tr>\n<td><code>dateCreated</code></td>\n<td>Date activity was created - ISO 8601 timestamp</td>\n</tr>\n<tr>\n<td><code>pointsRequired</code></td>\n<td>Number of points required to complete this activity - Applicable if type is <code>POINTS_CONTAINER</code> (Point Total Activity)</td>\n</tr>\n<tr>\n<td><code>numOptional</code></td>\n<td>Number of satisfied options needed to complete this activity - Applicable if type is <code>CONTAINER</code> (Experience Set)</td>\n</tr>\n<tr>\n<td><code>numRequired</code></td>\n<td>Number of satisfied requirements needed to complete this activity - Applicable if type is <code>CONTAINER</code> (Experience Set)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"meta\": {\n        \"nextCursor\": \"string\",\n        \"nextUrl\": \"string\"\n    },\n    \"data\": [\n        {\n            \"id\": \"string\",\n            \"uuid\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"incentive\": \"string\",\n            \"level\": {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"description\": \"string\",\n                \"position\": \"integer\",\n                \"iconUrl\": \"string\"\n            },\n            \"competencies\": [\n                {\n                    \"id\": \"string\",\n                    \"title\": \"string\",\n                    \"description\": \"string\",\n                    \"color\": \"string\"\n                }\n            ],\n            \"cohorts\" : [\n                {\n                    \"id\": \"string\",\n                    \"text\": \"string\",\n                    \"group\": \"string\",\n                    \"groupText\": \"string\"\n                }\n            ],\n            \"resources\": [\n                {\n                    \"label\": \"string\",\n                    \"url\": \"string\"\n                }\n            ],\n            \"type\": \"string\",\n            \"requiresApproval\": \"boolean\",\n            \"requiresSubmission\": \"boolean\",\n            \"requiresReflection\": \"boolean\",\n            \"requiresQrCode\": \"boolean\",\n            \"startDate\": \"integer\",\n            \"endDate\": \"integer\",\n            \"timeZone\": \"string\",\n            \"dateCreated\": \"string\",\n            \"location\": \"string\",\n            \"pointsRequired\": \"integer\",\n            \"numOptional\": \"integer\",\n            \"numRequired\":\"integer\"\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities","stream"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"308592d2-5f76-4cf7-a30f-ed16fc5363d9"},{"name":"Get Activity Stream Filters","event":[{"listen":"test","script":{"id":"4db7d67c-8a7c-4e4b-b034-fbf76d9aa118","exec":[""],"type":"text/javascript"}}],"id":"aef45281-0073-4a05-87d1-d499d18b21eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/filters","description":"<p>Returns a list of applicable activity stream filters for the specified pathway. Filters can include an array of options or sub-options. If sub-options exist, these are the applicable values to use for the top level parameter <code>type</code>.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td><strong>Get Activity Stream</strong> API parameter</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td>Paramter name</td>\n</tr>\n<tr>\n<td><code>options[].id</code></td>\n<td>Parameter value (if sub-options array <code>data</code> exists ignore)</td>\n</tr>\n<tr>\n<td><code>options[].label</code></td>\n<td>Parameter value name (if sub-options array <code>data</code> exists ignore)</td>\n</tr>\n<tr>\n<td><code>options[].data[].id</code></td>\n<td>Parameter value</td>\n</tr>\n<tr>\n<td><code>options[].data[].label</code></td>\n<td>Parameter value name</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": [\n        {\n            \"type\": \"string\",\n            \"label\": \"string\",\n            \"options\": [\n                {\n                    \"id\": \"string\",\n                    \"label\": \"string\"\n                }\n            ]\n        },\n        {\n            \"type\": \"string\",\n            \"label\": \"string\",\n            \"options\": [\n                {\n                    \"id\": \"string\",\n                    \"label\": \"string\",\n                    \"data\": [\n                        {\n                            \"id\": \"string\",\n                            \"label\": \"string\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"string\",\n                    \"label\": \"string\",\n                    \"data\": [\n                        {\n                            \"id\": \"string\",\n                            \"label\": \"string\"\n                        }\n                    ]\n                }\n            ]\n        }\n    ]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities","filters"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"aef45281-0073-4a05-87d1-d499d18b21eb"},{"name":"Get Activity","id":"c892e055-6b27-4a1c-96cf-b50ea3b641e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}","description":"<p>Get an Activity within the specified Pathway. Any requirements listed for this Activity are contained within the <code>requirements</code> array. It is also important to note only active requirements will be listed within the requirements array, meaning any options that have expired (their due date has elapsed) will not be listed within the array.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"data\": {\n        \"id\": \"string\",\n        \"uuid\": \"string\",\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"incentive\": \"string\",\n        \"level\": {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"position\": \"integer\",\n            \"pointsAwarded\": \"integer\",\n            \"activitiesRequired\": \"integer\",\n            \"iconUrl\": \"string\",\n            \"nextLevel\": \"string\"\n        },\n        \"competencies\": [\n            {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"description\": \"string\",\n                \"color\": \"string\"\n            }\n        ],\n        \"type\": \"string\",\n        \"requiresApproval\": \"boolean\",\n        \"requiresSubmission\": \"boolean\",\n        \"requiresReflection\": \"boolean\",\n        \"requiresQrCode\": \"boolean\",\n        \"pathway\": \"string\",\n        \"dueDateTZ\": \"string\",\n        \"dueDate\": \"string\",\n        \"time\": \"string\",\n        \"dateCreated\": \"string\",\n        \"location\": \"string\",\n        \"requirements\":  {\n            {\n                \"isRequired\": \"boolean\",\n                \"activity\": {\n                    \"id\": \"string\",\n                    \"title\": \"string\",\n                    \"description\": \"string\",\n                    \"incentive\": \"string\",\n                    \"level\": {\n                        \"id\": \"string\",\n                        \"title\": \"string\",\n                        \"description\": \"string\",\n                        \"position\": \"integer\",\n                        \"pointsAwarded\": \"integer\",\n                        \"activitiesRequired\": \"integer\",\n                        \"iconUrl\": \"string\",\n                        \"nextLevel\": \"string\"\n                    },\n                    \"competencies\": [\n                        {\n                            \"id\": \"string\",\n                            \"title\": \"string\",\n                            \"description\": \"string\",\n                            \"color\": \"string\"\n                        }\n                    ],\n                    \"type\": \"string\",\n                    \"requiresApproval\": \"boolean\",\n                    \"requiresSubmission\": \"boolean\",\n                    \"requiresReflection\": \"boolean\",\n                    \"requiresQrCode\": \"boolean\",\n                    \"pathway\": \"string\",\n                    \"dueDateTZ\": \"string\",\n                    \"dueDate\": \"string\",\n                    \"time\": \"string\",\n                    \"dateCreated\": \"string\",\n                    \"location\": \"string\",\n                    \"numOptional\": \"integer\",\n                    \"numRequired\":\"integer\",\n                    \"requirements\": \"boolean\",\n                    \"footer\": {\n                        \"text\": \"string\",\n                        \"entries\": [\n                            {\n                                \"name\": \"string\",\n                                \"photoUrl\": \"string\"\n                            }\n                        ]\n                    }\n                }\n            }\n        },\n        \"numOptional\": \"integer\",\n        \"numRequired\":\"integer\",\n        \"footer\": {\n            \"text\": \"string\",\n            \"entries\": [\n                {\n                    \"name\": \"string\",\n                    \"photoUrl\": \"string\"\n                }\n            ]\n        }\n    }\n}\n\n</code></pre>","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[{"id":"055dc994-1b85-42e1-90db-c21b102eeadc","name":"200 - OK","originalRequest":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 27 Jun 2019 18:35:11 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5d150c5f-228bff60740b21c0f4fd8850;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"4ed984f3dfb9ced4-IAD","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": \"27165\",\n        \"title\": \"Attend 2 Career Fairs\",\n        \"description\": \"To satisfy this activity you'll need to attend two separate career fairs before you graduate. Please check the requirements for an up to date listing of event that will count towards this activity.\",\n        \"incentive\": null,\n        \"level\": {\n            \"id\": \"153\",\n            \"title\": \"Level 4\",\n            \"description\": \"Involves expertise, which means activities at this level require you to have developed advanced level of knowledge in this competency. This goal of activities at Level 4 is to acknowledge the efforts you have put into becoming skilled at a particular competency.\",\n            \"position\": 4,\n            \"pointsAwarded\": 75,\n            \"activitiesRequired\": 3,\n            \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-4.png\",\n            \"nextLevel\": \"154\"\n        },\n        \"competencies\": [\n            {\n                \"id\": \"167\",\n                \"title\": \"Business in Practice\",\n                \"description\": \"Utilizing the knowledge, skills, and professionalism you have learned and putting it all into practice as a new business professional.\",\n                \"color\": \"50f73e\"\n            }\n        ],\n        \"type\": \"TASK\",\n        \"requiresApproval\": false,\n        \"requiresSubmission\": false,\n        \"requiresReflection\": false,\n        \"requiresQrCode\": false,\n        \"pathway\": \"290\",\n        \"employers\": [],\n        \"dueDateTZ\": null,\n        \"dueDate\": null,\n        \"time\": null,\n        \"dateCreated\": \"2019-05-08T18:49:15Z\",\n        \"location\": null,\n        \"cohorts\": [],\n        \"requirements\": [\n            {\n                \"isRequired\": false,\n                \"activity\": {\n                    \"id\": \"27160\",\n                    \"title\": \"Fall Career Fair\",\n                    \"description\": \"Fall Career Fair\",\n                    \"incentive\": null,\n                    \"level\": {\n                        \"id\": \"151\",\n                        \"title\": \"Level 2\",\n                        \"description\": \"Involves participation, which means activities at this level require you to become involved in this competency. The goal of activities at Level 2 is to get you to contribute to a project or organization.\",\n                        \"position\": 2,\n                        \"pointsAwarded\": 20,\n                        \"activitiesRequired\": 3,\n                        \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-2.png\",\n                        \"nextLevel\": \"152\"\n                    },\n                    \"competencies\": [\n                        {\n                            \"id\": \"167\",\n                            \"title\": \"Business in Practice\",\n                            \"description\": \"Utilizing the knowledge, skills, and professionalism you have learned and putting it all into practice as a new business professional.\",\n                            \"color\": \"50f73e\"\n                        },\n                        {\n                            \"id\": \"172\",\n                            \"title\": \"Academic Achievement\",\n                            \"description\": \"Activities and experiences that inform students about University and College resources available to enhance academic performance.\",\n                            \"color\": \"8080c0\"\n                        }\n                    ],\n                    \"type\": \"TASK\",\n                    \"requiresApproval\": false,\n                    \"requiresSubmission\": false,\n                    \"requiresReflection\": false,\n                    \"requiresQrCode\": false,\n                    \"pathway\": \"290\",\n                    \"employers\": [],\n                    \"dueDateTZ\": \"America/New_York\",\n                    \"dueDate\": \"2019-09-21T00:08:00Z\",\n                    \"time\": \"3:08 PM EDT\",\n                    \"dateCreated\": \"2019-05-08T18:14:09Z\",\n                    \"location\": null,\n                    \"cohorts\": [],\n                    \"requirements\": false,\n                    \"numOptional\": 0,\n                    \"numRequired\": 0,\n                    \"footer\": {\n                        \"text\": \"Added by \",\n                        \"entries\": [\n                            {\n                                \"name\": \"Suitable Ready\",\n                                \"photoUrl\": \"https://www.filepicker.io/api/file/gTnm9OOTeyslgTEdPxxr\"\n                            }\n                        ]\n                    }\n                }\n            },\n            {\n                \"isRequired\": false,\n                \"activity\": {\n                    \"id\": \"27161\",\n                    \"title\": \"Spring Career Fair\",\n                    \"description\": \"Spring Career Fair\",\n                    \"incentive\": null,\n                    \"level\": {\n                        \"id\": \"154\",\n                        \"title\": \"Level 5\",\n                        \"description\": \"Involves mastery, which means that activities at this level require you demonstrate a practical proficiency of this competency in either an internship or full-time job. The goal of activities in Level 5 is to receive certification from the workplace of your performance and ability in this competency area.\",\n                        \"position\": 5,\n                        \"pointsAwarded\": 150,\n                        \"activitiesRequired\": 3,\n                        \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-5.png\",\n                        \"nextLevel\": \"null\"\n                    },\n                    \"competencies\": [\n                        {\n                            \"id\": \"167\",\n                            \"title\": \"Business in Practice\",\n                            \"description\": \"Utilizing the knowledge, skills, and professionalism you have learned and putting it all into practice as a new business professional.\",\n                            \"color\": \"50f73e\"\n                        },\n                        {\n                            \"id\": \"172\",\n                            \"title\": \"Academic Achievement\",\n                            \"description\": \"Activities and experiences that inform students about University and College resources available to enhance academic performance.\",\n                            \"color\": \"8080c0\"\n                        }\n                    ],\n                    \"type\": \"TASK\",\n                    \"requiresApproval\": false,\n                    \"requiresSubmission\": false,\n                    \"requiresReflection\": false,\n                    \"requiresQrCode\": false,\n                    \"pathway\": \"290\",\n                    \"employers\": [],\n                    \"dueDateTZ\": \"America/New_York\",\n                    \"dueDate\": \"2020-05-05T07:33:00Z\",\n                    \"time\": \"3:33 AM EDT\",\n                    \"dateCreated\": \"2019-05-08T18:14:33Z\",\n                    \"location\": null,\n                    \"cohorts\": [],\n                    \"requirements\": false,\n                    \"numOptional\": 0,\n                    \"numRequired\": 0,\n                    \"footer\": {\n                        \"text\": \"Added by \",\n                        \"entries\": [\n                            {\n                                \"name\": \"Suitable Ready\",\n                                \"photoUrl\": \"https://www.filepicker.io/api/file/gTnm9OOTeyslgTEdPxxr\"\n                            }\n                        ]\n                    }\n                }\n            }\n        ],\n        \"numOptional\": 2,\n        \"numRequired\": 0,\n        \"footer\": {\n            \"text\": \"Added by \",\n            \"entries\": [\n                {\n                    \"name\": \"Suitable Ready\",\n                    \"photoUrl\": \"https://www.filepicker.io/api/file/gTnm9OOTeyslgTEdPxxr\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"c892e055-6b27-4a1c-96cf-b50ea3b641e3"},{"name":"Create Activity","event":[{"listen":"test","script":{"id":"449e9cb3-8130-4c88-a695-22e546970cef","exec":[""],"type":"text/javascript"}}],"id":"3fe95565-4490-4afe-94a3-9577ec7649cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"EVENT\",\n        \"title\": \"Developer api event\",\n        \"description\": \"Deep dive into the Suitable api docs.\",\n        \"requiresQrCode\": true,\n        \"startDate\": 1648137600000,\n        \"endDate\": 1648144800000,\n        \"timeZone\": \"America/New_York\",\n        \"relationships\": {\n            \"levelId\": \"{{ACTIVITY_LEVEL_ID}}\",\n            \"competencyIds\": [\n            \t\"{{ACTIVITY_COMPETENCY_ID}}\"\n            ]\n        }\n    }\n}"},"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities","description":"<p>Used to create an activity within your institution's program. In addition to typical event details, level and competencies must be associated to determine the number of points a student can earn when attending/completing the activity.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n<th>Constraints</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td>Type of activity</td>\n<td><code>EVENT</code> or <code>TASK</code></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>Descriptive title</td>\n<td>Length 1 - 200 characters</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Detailed description</td>\n<td>Length 1 - 5000 characters</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>incentive</code></td>\n<td>Incentive for completion</td>\n<td>Length 1 - 140 characters</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>location</code></td>\n<td>Location for the activity</td>\n<td>Length 1 - 100 characters</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td>Start date of the activity</td>\n<td>Unix timestamp (in milliseconds)</td>\n<td><code>EVENT</code> Yes, <code>TASK</code> No</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td>End date of the activity</td>\n<td>Unix timestamp (in milliseconds)</td>\n<td><code>EVENT</code> Yes, <code>TASK</code> No</td>\n</tr>\n<tr>\n<td><code>timeZone</code></td>\n<td>Listed timezone of the activity</td>\n<td><a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\">TZ database name</a></td>\n<td>If either <code>startDate</code> or <code>endDate</code> is present Yes, else No</td>\n</tr>\n<tr>\n<td><code>requiresSubmission</code></td>\n<td>Enforce a file submission requirement to complete</td>\n<td>Boolean</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>requiresReflection</code></td>\n<td>Enforce a written reflection requirement to complete</td>\n<td>Boolean</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>requiresQrCode</code></td>\n<td>Require the scanning of a QR code to complete</td>\n<td>Boolean</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>requiresApproval</code></td>\n<td>Require an administrator to review completion prior to awarding points</td>\n<td>Boolean</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>resources</code></td>\n<td>List of external resource links to display</td>\n<td>Max size 50</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>resources[].label</code></td>\n<td>Resource link's label</td>\n<td>Length 1 - 200 characters</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>resources[].url</code></td>\n<td>Resource link's external url</td>\n<td>Length 1 - 2000 characters &amp; valid url</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>relationships.levelId</code></td>\n<td>ID of level assignment</td>\n<td>Valid level ID</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>relationships.competencyIds</code></td>\n<td>List of competency IDs assigned</td>\n<td>Valid competency IDs &amp; max size 50</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>relationships.cohortIds</code></td>\n<td>List of experience tag IDs assigned</td>\n<td>Valid experience tag IDs &amp; max size 50</td>\n<td>No</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-model\">Request Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"type\": \"string\",\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"incentive\": \"string\",\n        \"location\": \"string\",\n        \"startDate\": \"integer\",\n        \"endDate\": \"integer\",\n        \"timeZone\": \"string\",\n        \"requiresSubmission\": \"boolean\",\n        \"requiresReflection\": \"boolean\",\n        \"requiresQrCode\": \"boolean\",\n        \"requiresApproval\": \"boolean\",\n        \"resources\": [\n            {\n                \"label\": \"string\",\n                \"url\": \"string\"\n            }\n        ],\n        \"relationships\": {\n            \"levelId\": \"string\",\n            \"competencyIds\": [\n                \"string\"\n            ],\n            \"cohortIds\": [\n                \"string\"\n            ]\n        },\n    }\n}\n\n</code></pre>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"id\": \"string\",\n        \"uuid\": \"string\",\n        \"type\": \"string\",\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"incentive\": \"string\",\n        \"location\": \"string\",\n        \"level\": {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"position\": \"integer\",\n            \"pointsAwarded\": \"integer\",\n            \"nextLevel\": \"string\"\n        },\n        \"competencies\": [\n            {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"description\": \"string\",\n                \"color\": \"string\"\n            }\n        ],\n        \"requiresApproval\": \"boolean\",\n        \"requiresSubmission\": \"boolean\",\n        \"requiresReflection\": \"boolean\",\n        \"requiresQrCode\": \"boolean\",\n        \"startDate\": \"integer\",\n        \"endDate\": \"integer\",\n        \"timeZone\": \"string\",\n        \"resources\": [\n            {\n                \"label\": \"string\",\n                \"url\": \"string\"\n            }\n        ],\n        \"dateCreated\": \"string\"\n    }\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"3fe95565-4490-4afe-94a3-9577ec7649cf"},{"name":"Update Activity","event":[{"listen":"test","script":{"id":"e0a8732d-41f5-4e93-9d1d-fa6597d22940","exec":[""],"type":"text/javascript"}}],"id":"42a3fc96-343d-4e68-9e53-a2a8ce570f1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"PUT","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"title\": \"Developer api event\",\n        \"description\": \"Deep dive into the Suitable api docs.\",\n        \"requiresQrCode\": true,\n        \"startDate\": 1648137600000,\n        \"endDate\": 1648144800000,\n        \"timeZone\": \"America/New_York\",\n        \"relationships\": {\n            \"levelId\": \"{{ACTIVITY_LEVEL_ID}}\",\n            \"competencyIds\": [\n            \t\"{{ACTIVITY_COMPETENCY_ID}}\"\n            ]\n        }\n    }\n}"},"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}","description":"<p>Used to update an activity within your institution's program.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n<th>Constraints</th>\n<th>Required</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>title</code></td>\n<td>Descriptive title</td>\n<td>Length 1 - 200 characters</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Detailed description</td>\n<td>Length 1 - 5000 characters</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>incentive</code></td>\n<td>Incentive for completion</td>\n<td>Length 1 - 140 characters</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>location</code></td>\n<td>Location for the activity</td>\n<td>Length 1 - 100 characters</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td>Start date of the activity</td>\n<td>Unix timestamp (in milliseconds)</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td>End date of the activity</td>\n<td>Unix timestamp (in milliseconds)</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>timeZone</code></td>\n<td>Listed timezone of the activity</td>\n<td><a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\">TZ database name</a></td>\n<td>If either <code>startDate</code> or <code>endDate</code> is present Yes, else No</td>\n</tr>\n<tr>\n<td><code>requiresSubmission</code></td>\n<td>Enforce a file submission requirement to complete</td>\n<td>Boolean</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>requiresReflection</code></td>\n<td>Enforce a written reflection requirement to complete</td>\n<td>Boolean</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>requiresQrCode</code></td>\n<td>Require the scanning of a QR code to complete</td>\n<td>Boolean</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>requiresApproval</code></td>\n<td>Require an administrator to review completion prior to awarding points</td>\n<td>Boolean</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>resources</code></td>\n<td>List of external resource links to display</td>\n<td>Max size 50</td>\n<td>No</td>\n</tr>\n<tr>\n<td><code>resources[].label</code></td>\n<td>Resource link's label</td>\n<td>Length 1 - 200 characters</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>resources[].url</code></td>\n<td>Resource link's external url</td>\n<td>Length 1 - 2000 characters &amp; valid url</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td><code>relationships.levelId</code></td>\n<td>ID of level assignment</td>\n<td>Valid level ID</td>\n<td>If <code>competencyIds</code> is present Yes, else No</td>\n</tr>\n<tr>\n<td><code>relationships.competencyIds</code></td>\n<td>List of competency IDs assigned</td>\n<td>Valid competency IDs &amp; max size 50</td>\n<td>If <code>levelId</code> is present Yes, else No</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-model\">Request Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"incentive\": \"string\",\n        \"location\": \"string\",\n        \"startDate\": \"integer\",\n        \"endDate\": \"integer\",\n        \"timeZone\": \"string\",\n        \"requiresSubmission\": \"boolean\",\n        \"requiresReflection\": \"boolean\",\n        \"requiresQrCode\": \"boolean\",\n        \"requiresApproval\": \"boolean\",\n        \"resources\": [\n            {\n                \"label\": \"string\",\n                \"url\": \"string\"\n            }\n        ],\n        \"relationships\": {\n            \"levelId\": \"string\",\n            \"competencyIds\": [\n                \"string\"\n            ]\n        },\n    }\n}\n\n</code></pre>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"id\": \"string\",\n        \"uuid\": \"string\",\n        \"type\": \"string\",\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"incentive\": \"string\",\n        \"location\": \"string\",\n        \"level\": {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"position\": \"integer\",\n            \"pointsAwarded\": \"integer\",\n            \"nextLevel\": \"string\"\n        },\n        \"competencies\": [\n            {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"description\": \"string\",\n                \"color\": \"string\"\n            }\n        ],\n        \"requiresApproval\": \"boolean\",\n        \"requiresSubmission\": \"boolean\",\n        \"requiresReflection\": \"boolean\",\n        \"requiresQrCode\": \"boolean\",\n        \"startDate\": \"integer\",\n        \"endDate\": \"integer\",\n        \"timeZone\": \"string\",\n        \"resources\": [\n            {\n                \"label\": \"string\",\n                \"url\": \"string\"\n            }\n        ],\n        \"dateCreated\": \"string\"\n    }\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"42a3fc96-343d-4e68-9e53-a2a8ce570f1f"},{"name":"Delete/Archive Activity","event":[{"listen":"test","script":{"id":"cd597a33-70cf-4b10-98ec-16dc426ff058","exec":[""],"type":"text/javascript","packages":{},"requests":{}}}],"id":"cbccce41-1be2-406a-b0e4-57b5a11f53cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"}],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}?force=false&visibility=ARCHIVED","description":"<p>Used to DELETE or ARCHIVE an activity within your institution's program. This is a destructive action and one that cannot be undone. If the activity is tied to active experience sets, the API will return an exception with status code <code>409</code>. If you'd like to proceed with the delete you MUST confirm by retrying the request with <code>force=true</code>.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Method</strong></th>\n<th><strong>URL</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>DELETE</code></td>\n<td><code>/v1/activities/{ACTIVITY_ID}</code></td>\n<td>Archive or delete a specific activity based on query parameters.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ACTIVITY_ID</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the activity to be archived.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example Value</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>force</code></td>\n<td><code>boolean</code></td>\n<td>Required to bypass standard deletion safeguards and trigger archival logic.</td>\n<td><code>false</code></td>\n<td>Must be set to <code>true</code> to bypass 409 error response.</td>\n</tr>\n<tr>\n<td><code>visibility</code></td>\n<td><code>string</code></td>\n<td>Defines the target state of the activity.</td>\n<td><code>ARCHIVED</code></td>\n<td>Use <code>ARCHIVED</code> to move the activity to the archives rather than deleting it. Use <code>DELETED</code> to delete an activity.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure\">Response Structure</h2>\n<h5 id=\"409-conflict-requires-forcetrue\">409 Conflict (Requires force=true)</h5>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"exception\": [\n    {\n      \"error\": \"string\",\n      \"message\": \"string\",\n      \"title\": \"string\",\n      \"severity\": \"string\"\n    }\n  ]\n}\n\n</code></pre><h2 id=\"success-200-ok\">Success (<code>200 OK</code>)</h2>\n<p>The response returns a success indicator.</p>\n<h3 id=\"response-model-json-schema\">Response Model (JSON Schema)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"data\": {\n    \"success\": \"boolean\",\n    \"message\": \"string\"\n  }\n}\n\n</code></pre>","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}"],"host":["{{API_ENV}}","suitable","co"],"query":[{"key":"force","value":"false"},{"key":"visibility","value":"ARCHIVED"}],"variable":[]}},"response":[],"_postman_id":"cbccce41-1be2-406a-b0e4-57b5a11f53cb"},{"name":"Create Batch Credit File","event":[{"listen":"test","script":{"id":"bacc3c5a-de2c-47be-8b82-d3b0fa91c61c","exec":["var jsonData = pm.response.json();","pm.environment.set(\"RESOURCE_URL\", jsonData.data.url);"],"type":"text/javascript"}}],"id":"10dd9840-5189-4dba-b77a-4f38ebd80048","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/resources/batchCredits","description":"<p>Generate a batch credit resource url by submitting a CSV file.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<p>A <code>multipart/form-data</code> UTF-8 encoded body with the CSV file. The input parameter MUST be named <code>file</code>.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"data\": {\n        \"url\": \"string\"\n    }\n}\n\n</code></pre><h4 id=\"additional-info\">Additional Info</h4>\n<p>The CSV file needs to contain a header row that will be ignored. The header is followed by student usernames located in the first column for each row. For example:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Username</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"mailto:jane.apple@institution.edu\">jane.apple@institution.edu</a></td>\n</tr>\n<tr>\n<td><a href=\"mailto:john.apple@institution.edu\">john.apple@institution.edu</a></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","institutions","{{INSTITUTION_ID}}","resources","batchCredits"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[{"id":"1eaf1c33-5d44-409f-aed4-0f8a6d56e1f2","name":"200 - OK","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file"}]},"url":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/resources/batchCredits"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Apr 2019 18:05:33 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=utf-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5cc1f6ed-dec391f012c4e20071ac4760;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"4cd23eecb81d9206-EWR","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"url\": \"https://s3.amazonaws.com/imports.suitable.co/resources/production/12/batchCredits/2019-04-25/batchCredits-3207773243995827021.csv\"\n    }\n}"}],"_postman_id":"10dd9840-5189-4dba-b77a-4f38ebd80048"},{"name":"Give Batch Credit","event":[{"listen":"test","script":{"id":"1ccb53dc-d64b-49e7-8b8a-4d8b21da0957","exec":["var jsonData = pm.response.json();","pm.environment.set(\"BATCH_CREDIT_ID\", jsonData.data.id);"],"type":"text/javascript"}}],"id":"447c4a43-2ad9-41e0-b3a4-d9b2b4ee5bbd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"url\" : \"{{RESOURCE_URL}}\"\n}"},"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/giveCredit","description":"<p>Create a batch credit job for an Activity by providing a valid resource url. The resource will be validated to ensure at least one valid student user has been provided within the CSV file. The username for the student must by their <a href=\"https://www.educause.edu/fidm/attributes#eppn\">EduPrincipalPersonName</a>.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"data\": {\n        \"id\": \"string\",\n        \"status\": \"string\",\n        \"createdAt\": \"integer\"\n    }\n}\n\n</code></pre>","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}","giveCredit"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[{"id":"904314f3-ef5a-4052-b29c-04b8fed8eb5e","name":"200 - OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"url\" : \"{{RESOURCE_URL}}\"\n}"},"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/giveCredit"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Apr 2019 18:10:59 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5cc1f833-ae3b6af00d172410e27860c0;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"4cd246e22ef49206-EWR","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": \"2715\",\n        \"status\": \"CREATED\",\n        \"createdAt\": 1556215859726\n    }\n}"},{"id":"a5719610-66f2-44ca-ba82-d2d7b5d32d4b","name":"400 － Bad Request","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"url\" : \"{{RESOURCE_URL}}\"\n}"},"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/giveCredit"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"error\": [\n        \"You need a minimum of 1 entry to submit\"\n    ]\n}"}],"_postman_id":"447c4a43-2ad9-41e0-b3a4-d9b2b4ee5bbd"},{"name":"Get Batch Credit Job Status","id":"612ee222-94bb-45b4-8f5a-62420d74e7f2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/giveCredit/{{BATCH_CREDIT_ID}}","description":"<p>Get the current status of a specified batch credit job. Statuses will be either <code>IN_PROGRESS</code>, <code>COMPLETED</code>, or <code>FAILED</code>. If the job failed errors will be provided indicating the reason and what actions to take.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"data\": {\n        \"id\": \"string\",\n        \"status\": \"string\",\n        \"completedAt\": \"integer\",\n        \"failedAt\": \"integer\",\n        \"errors\": [ \"string\" ],\n        \"completionsAwarded\": \"integer\"\n    }\n}\n</code></pre>","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}","giveCredit","{{BATCH_CREDIT_ID}}"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[{"id":"076a7834-bcd6-4cc0-8434-d8b7e1f58ec5","name":"200 - OK (Completed)","originalRequest":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/giveCredit/{{BATCH_CREDIT_ID}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Apr 2019 18:13:17 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5cc1f8bd-41299c473f8875cf11c66c7b;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"4cd24a3f58f59206-EWR","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": \"2715\",\n        \"status\": \"COMPLETED\",\n        \"completedAt\": 1556215859809,\n        \"completionsAwarded\": 2\n    }\n}"},{"id":"49c3208a-8f5e-43b2-b9bf-cdab5eedba80","name":"200 - OK (In Progress)","originalRequest":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/giveCredit/{{BATCH_CREDIT_ID}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Apr 2019 18:14:45 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5cc1f915-9e308282c678c71402281ea2;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"4cd24c64d8769206-EWR","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": \"2715\",\n        \"status\": \"IN_PROGRESS\",\n        \"completionsAwarded\": 0\n    }\n}"},{"id":"c16a9a1a-bb61-4fe5-b405-ab37ab11abfa","name":"200 - OK (Failed)","originalRequest":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/giveCredit/{{BATCH_CREDIT_ID}}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Apr 2019 18:17:24 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5cc1f9b4-54b1c36000272b100e02c340;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"4cd250494a7f9206-EWR","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"id\": \"2715\",\n        \"status\": \"FAILED\",\n        \"failedAt\": 1556215859809,\n        \"errors\": [\"This activity cannot be completed directly. You must complete its requirements.\"],\n        \"completionsAwarded\": 0\n    }\n}"}],"_postman_id":"612ee222-94bb-45b4-8f5a-62420d74e7f2"},{"name":"Get Activity Completion Stream","id":"11d6c484-e9c0-4fba-be6c-01343fd446f8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{BASE_URL}}/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/stream?context=PENDING&sortBy=lastUpdated:desc&query&cursor&filter","description":"<p>Returns a stream of the users who's approvals are in the status provided for the context parameter for the specified <code>ACTIVITY_ID</code>. Acceptable values for context are <code>PENDING</code> (activities pending approval) and <code>COMPLETED</code> (completed or in progress activities)</p>\n<h4 id=\"parameter---field-glossary\">Parameter - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>context</code></td>\n<td>The status of the approval for a particular activity (<code>PENDING</code> or <code>COMPLETED</code>)</td>\n</tr>\n<tr>\n<td><code>sortBy</code></td>\n<td>The field to sort the results by</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>Full text search string to filter activities by</td>\n</tr>\n<tr>\n<td><code>cursor</code></td>\n<td>A cursor string that indexes the current stream location</td>\n</tr>\n<tr>\n<td><code>filter</code></td>\n<td>The ID of the desired filter to apply to the results</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"meta\": {\n        \"nextCursor\": \"string\",\n        \"nextUrl\": \"string\"\n    },\n    \"data\": [\n        {\n            \"id\": \"string\",\n            \"profile\": {\n                \"id\": \"string\",\n                \"userId\": \"string\",\n                \"username\": \"string\",\n                \"firstName\": \"string\",\n                \"lastName\": \"string\",\n                \"contactEmail\": \"string\",\n                \"uniqueId\": \"string\",\n                \"statusType\": \"string\",\n                \"photoUrl\": \"string\",\n                \"lastActive\": \"integer\",\n                \"type\": \"string\",\n                \"cohorts\": [\n                    {\n                        \"id\": \"string\",\n                        \"text\": \"string\",\n                        \"weight\": \"string\",\n                        \"group\": \"string\",\n                        \"groupText\": \"string\",\n                        \"isPriorityFilter\": \"boolean\"\n                    },\n                ]\n            },\n            \"scorecardUrl\": \"string\",\n            \"activityType\": \"string\",\n            \"numOptional\": \"integer\",\n            \"numRequired\": \"integer\",\n            \"pointsRequired\": \"integer\",\n            \"status\": \"string\",\n            \"progress\": \"double\",\n            \"pointsAcquired\": \"integer\",\n            \"reflection\": \"string\",\n            \"pointsBalance\": \"integer\",\n            \"optionalCompleted\": \"integer\",\n            \"requiredCompleted\": \"integer\",\n            \"dateCompleted\": \"integer\",\n            \"reviewUrl\": \"string\",\n            \"submission\": \"string\",\n            \"surveyResponse\": \"string\",\n            \"dateSubmitted\": {\n                \"raw\": \"integer\",\n                \"local\": {\n                    \"date\": \"string\",\n                    \"time\": \"string\"\n                }\n            },\n            \"reviewUserId\": \"string\",\n            \"formResponse\": {\n                \"formTitle\": \"string\",\n                \"formHashId\": \"string\",\n                \"responseId\": \"string\",\n                \"dateCreated\": \"integer\"\n            }\n        }\n    ]\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}","stream"],"host":["{{BASE_URL}}"],"query":[{"key":"context","value":"PENDING"},{"key":"sortBy","value":"lastUpdated:desc"},{"key":"query","value":""},{"key":"cursor","value":""},{"key":"filter","value":""}],"variable":[]}},"response":[],"_postman_id":"11d6c484-e9c0-4fba-be6c-01343fd446f8"},{"name":"Get Activity Completion Stream Filters","id":"4217eaa2-902d-4100-a67f-4c7d1ff90cf9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{BASE_URL}}/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/filters","description":"<p>Returns the list of filters that can be applied to a given activity's profile stream.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"id\": \"string\",\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"incentive\": \"boolean\",\n        \"level\": {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"position\": \"integer\",\n            \"pointsAwarded\": \"integer\",\n            \"activitiesRequired\": \"integer\",\n            \"iconUrl\": \"string\",\n            \"nextLevel\": \"string\"\n        },\n        \"competencies\": [\n            {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"description\": \"string\",\n                \"color\": \"string\"\n            }\n        ],\n        \"type\": \"string\",\n        \"requiresApproval\": \"boolean\",\n        \"requiresSubmission\": \"boolean\",\n        \"requiresReflection\": \"boolean\",\n        \"requiresQrCode\": \"boolean\",\n        \"pathway\": \"string\",\n        \"employers\": \"array\",\n        \"startDate\": \"string\",\n        \"endDate\": \"string\",\n        \"timeZone\": \"string\",\n        \"time\": \"string\",\n        \"resources\": \"array\",\n        \"dueDate\": \"string\",\n        \"dueDateTZ\": \"string\",\n        \"pointsRequired\": \"integer\",\n        \"dateCreated\": \"string\",\n        \"location\": \"string\",\n        \"cohorts\": \"array\",\n        \"requirements\": \"boolean\",\n        \"numOptional\": \"integer\",\n        \"numRequired\": \"integer\",\n        \"sourceId\": \"string\",\n        \"shared\": \"boolean\",\n        \"visibility\": \"string\",\n        \"uuid\": \"string\",\n        \"allowsRsvp\": \"string\",\n        \"preferenceDetails\": {\n            \"currentRsvpCount\": \"integer\",\n            \"rsvpCapacity\": \"integer\"\n        },\n        \"requiresFormSubmission\": \"boolean\",\n        \"footer\": {\n            \"text\": \"string\",\n            \"entries\": [\n                {\n                    \"name\": \"string\",\n                    \"photoUrl\": \"string\"\n                },\n                {\n                    \"name\": \"string\",\n                    \"photoUrl\": \"string\"\n                }\n            ]\n        },\n        \"parents\": \"array\",\n        \"filters\": [\n            {\n                \"type\": \"string\",\n                \"id\": \"string\",\n                \"priority\": \"boolean\",\n                \"label\": \"string\",\n                \"options\": [\n                    {\n                        \"id\": \"string\",\n                        \"label\": \"string\",\n                        \"checked\": \"boolean\",\n                        \"iconUrl\": \"string\",\n                        \"data\": [\n                            {\n                                \"id\": \"string\",\n                                \"label\": \"string\",\n                                \"checked\": \"boolean\",\n                                \"iconUrl\": \"string\"\n                            }\n                        ]\n                    }\n                ]\n            }\n        ],\n        \"sortBys\": [\n            {\n                \"id\": \"string\",\n                \"label\": \"string\",\n                \"checked\": \"boolean\",\n                \"iconUrl\": \"string\"\n            }\n        ]\n    }\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}","filters"],"host":["{{BASE_URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4217eaa2-902d-4100-a67f-4c7d1ff90cf9"}],"id":"05de629c-6c69-42ba-943c-74d708bcbba8","_postman_id":"05de629c-6c69-42ba-943c-74d708bcbba8","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"Achievements","item":[{"name":"Get Achievements Stream","event":[{"listen":"test","script":{"id":"cb875e93-706b-40c9-af75-6a7c505e7b49","exec":["var jsonData = pm.response.json();","if (jsonData.meta.nextUrl !== null)","    pm.environment.set(\"NEXT_URL\", jsonData.meta.nextUrl);"],"type":"text/javascript"}}],"id":"858e66cb-8d8a-4f77-add5-c5e2dbd2849f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/:institutionId/achievements","description":"<p>Returns a stream of achievements in the specified institution's pathway/dashboard.</p>\n<p>For information on draining a particular stream see the <strong>Get Next Stream Url</strong> helper request that simulates draining a stream by following the series of urls provided in responses. This <strong>Postman</strong> request automatically initializes the <code>NEXT_URL</code> environment variable for the <strong>Get Next Stream Url</strong> request.</p>\n<h4 id=\"parameter---field-glossary\">Parameter - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>cursor</code></td>\n<td>A cursor string that indexes the current stream location</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td>A search string match against achievement titles, descriptions, and student list names</td>\n</tr>\n<tr>\n<td><code>types</code></td>\n<td>An array of achievement types that should be included in the stream e.g. <code>FEATURED</code> or <code>MILESTONE</code></td>\n</tr>\n<tr>\n<td><code>visibility</code></td>\n<td>An array of achievement visibility types that should be included in the stream e.g. <code>ACTIVE</code> or <code>RETIRED</code> (AKA archived)</td>\n</tr>\n</tbody>\n</table>\n</div><p>When supplying any array parameter duplicate the parameter name for each value. For example, to filter by achievements of type <code>FEATURED</code> and <code>MILESTONE</code> use the query string <code>?types=FEATURED&amp;types=MILESTONE</code>.</p>\n<h4 id=\"response---field-glossary\">Response - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>meta.nextUrl</code></td>\n<td>A url to retrieve additional records in this stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>meta.nextCursor</code></td>\n<td>A cursor string to retrieve additional records in this stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Achievement identifier</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>Title of the achievement</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Description of the achievement (markdown compatible)</td>\n</tr>\n<tr>\n<td><code>iconUrl</code></td>\n<td>Url of the achievement's image</td>\n</tr>\n<tr>\n<td><code>pathwayId</code></td>\n<td>ID of the pathway/dashboard that manages this achievement</td>\n</tr>\n<tr>\n<td><code>specialType</code></td>\n<td>The specific type of achievement, can be either <code>FEATURED</code> or <code>MILESTONE</code></td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>Current achievement progress for the requesting user (applicable if user is a student)</td>\n</tr>\n<tr>\n<td><code>achievedAt</code></td>\n<td>UTC timestamp of when the requesting user completed the achievement (applicable if user is a student)</td>\n</tr>\n<tr>\n<td><code>relationships.studentListName</code></td>\n<td>Name of the student list that wraps the achievement's student population</td>\n</tr>\n<tr>\n<td><code>permissions[].permission</code></td>\n<td>Authorized privileges the requesting user has for an achievement</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"meta\": {\n        \"nextCursor\": \"string\",\n        \"nextUrl\": \"string\"\n    },\n    \"data\": [\n        {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"iconUrl\": \"string\",\n            \"pathwayId\": \"string\",\n            \"specialType\": \"string\",\n            \"progress\": \"double\",\n            \"achievedAt\": \"string\",\n            \"relationships\": {\n                \"studentListName\": \"string\"\n            },\n            \"permissions\": [\n                {\n                    \"permission\": \"string\"\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","institutions",":institutionId","achievements"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[{"type":"any","value":"{{INSTITUTION_ID}}","key":"institutionId"}]}},"response":[],"_postman_id":"858e66cb-8d8a-4f77-add5-c5e2dbd2849f"},{"name":"Get Achievement Progress Report Stream","event":[{"listen":"test","script":{"id":"6118d7df-8139-431e-a123-b1ad845065bc","exec":["var jsonData = pm.response.json();","if (jsonData.meta.nextUrl !== null)","    pm.environment.set(\"NEXT_URL\", jsonData.meta.nextUrl);"],"type":"text/javascript"}}],"id":"606ff8d7-63df-47ee-bd08-bde3a1902069","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/:institutionId/achievements/:achievementId/export.json","description":"<p>Returns a stream of progress records for the specified achievement. The stream contains each student's progress that is currently eligible to achieve or has achieved the achievement.</p>\n<p>For information on draining a particular stream see the <strong>Get Next Stream Url</strong> helper request that simulates draining a stream by following the series of urls provided in responses. This <strong>Postman</strong> request automatically initializes the <code>NEXT_URL</code> environment variable for the <strong>Get Next Stream Url</strong> request.</p>\n<p>By default, only students that are Active are returned. By specifying the optional parameter <code>accountStatuses</code> Archived students can be returned.</p>\n<h4 id=\"parameter---field-glossary\">Parameter - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>cursor</code></td>\n<td>A cursor string that indexes the current stream location</td>\n</tr>\n<tr>\n<td><code>accountStatuses</code></td>\n<td>Account status indicator to control if ACTIVE or ARCHIVED student records should be returned. This parameter can be applied for each desired status.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response---field-glossary\">Response - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>meta.nextUrl</code></td>\n<td>A url to retrieve additional records in this activity stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>meta.nextCursor</code></td>\n<td>A cursor string to retrieve additional records in this stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Achievement identifier</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>Title of the achievement</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Description of the achievement (markdown compatible)</td>\n</tr>\n<tr>\n<td><code>iconUrl</code></td>\n<td>Url of the achievement's image</td>\n</tr>\n<tr>\n<td><code>specialType</code></td>\n<td>The specific type of achievement, can be either <code>FEATURED</code> or <code>MILESTONE</code></td>\n</tr>\n<tr>\n<td><code>username</code></td>\n<td>User's registered username</td>\n</tr>\n<tr>\n<td><code>firstName</code></td>\n<td>User's first name</td>\n</tr>\n<tr>\n<td><code>lastName</code></td>\n<td>User's last name</td>\n</tr>\n<tr>\n<td><code>contactEmail</code></td>\n<td>User's registered contact email</td>\n</tr>\n<tr>\n<td><code>uniqueId</code></td>\n<td>User's registered SIS/Student ID</td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>Current achievement progress for the user</td>\n</tr>\n<tr>\n<td><code>dateAchieved</code></td>\n<td>UTC timestamp of when the user completed the achievement</td>\n</tr>\n<tr>\n<td><code>totalActivitiesCount</code></td>\n<td>The achievement's number of requirements</td>\n</tr>\n<tr>\n<td><code>completedActivitiesCount</code></td>\n<td>The number of requirements the user completed</td>\n</tr>\n<tr>\n<td><code>progresses[].activityId</code></td>\n<td>A requirement's activity ID</td>\n</tr>\n<tr>\n<td><code>progresses[].activityId</code></td>\n<td>A requirement's title</td>\n</tr>\n<tr>\n<td><code>progresses[].progress</code></td>\n<td>Current requirement progress for the user</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"meta\": {\n        \"nextCursor\": \"string\",\n        \"nextUrl\": \"string\"\n    },\n    \"data\": [\n        {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"iconUrl\": \"string\",\n            \"specialType\": \"string\",\n            \"username\": \"string\",\n            \"firstName\": \"string\",\n            \"lastName\": \"string\",\n            \"contactEmail\": \"string\",\n            \"uniqueId\": \"string\",\n            \"progress\": \"double\",\n            \"dateAchieved\": \"string\",\n            \"totalActivitiesCount\": \"integer\",\n            \"completedActivitiesCount\": \"integer\",\n            \"progresses\": [\n                {\n                    \"activityId\": \"string\",\n                    \"title\": \"string\",\n                    \"progress\": \"double\"\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","institutions",":institutionId","achievements",":achievementId","export.json"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[{"type":"any","value":"{{INSTITUTION_ID}}","key":"institutionId"},{"type":"any","value":"{{ACHIEVEMENT_ID}}","key":"achievementId"}]}},"response":[],"_postman_id":"606ff8d7-63df-47ee-bd08-bde3a1902069"},{"name":"Get Batch Achievement Progress Report","event":[{"listen":"test","script":{"id":"6118d7df-8139-431e-a123-b1ad845065bc","exec":[""],"type":"text/javascript","packages":{}}}],"id":"7d3924b5-404e-4630-81dc-778ff229187a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/:institutionId/achievementProgresses?achievementIds&achievementIds","description":"<p>Requests a batch achievement progress report to be pulled. Report is scheduled and delivered via email to the requesting user.</p>\n<p>The report is an XLSX spreadsheet that can contain up to 10 achievements. For brevity, student with 0% progress are omitted from the report.</p>\n<h4 id=\"parameter---field-glossary\">Parameter - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>achievementIds</code></td>\n<td>ID of desired achievement, can be declared up to 10 times.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response---field-glossary\">Response - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>data.started</code></td>\n<td>Current time of report request</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"started\": \"string\"\n    }\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","institutions",":institutionId","achievementProgresses"],"host":["{{API_ENV}}","suitable","co"],"query":[{"description":{"content":"<p>Achieivement ID 1</p>\n","type":"text/plain"},"key":"achievementIds","value":""},{"description":{"content":"<p>Achieivement ID 2</p>\n","type":"text/plain"},"key":"achievementIds","value":""}],"variable":[{"type":"any","value":"{{INSTITUTION_ID}}","key":"institutionId"}]}},"response":[],"_postman_id":"7d3924b5-404e-4630-81dc-778ff229187a"},{"name":"Get Achievement","id":"3a0e01f8-6e60-4dfd-87a4-e1dabf72dd9f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/:institutionId/achievements/:achievementId","description":"<p>Get an achievement within the specified Pathway/Institution. Any requirements listed for this Achievement are contained within the requirements array.</p>\n<h4 id=\"response---field-glossary\">Response - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Achievement identifier</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>Title of the achievement</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Description of the achievement (markdown compatible)</td>\n</tr>\n<tr>\n<td><code>iconUrl</code></td>\n<td>Url of the achievement's image</td>\n</tr>\n<tr>\n<td><code>pathwayId</code></td>\n<td>ID of the pathway/dashboard that manages this achievement</td>\n</tr>\n<tr>\n<td><code>specialType</code></td>\n<td>The specific type of achievement, can be either <code>FEATURED</code> or <code>MILESTONE</code></td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>Current achievement progress for the requesting user (applicable if user is a student)</td>\n</tr>\n<tr>\n<td><code>achievedAt</code></td>\n<td>UTC timestamp of when the requesting user completed the achievement (applicable if user is a student)</td>\n</tr>\n<tr>\n<td><code>relationships.studentListName</code></td>\n<td>Name of the student list that wraps the achievement's student population</td>\n</tr>\n<tr>\n<td><code>relationships.requirements</code></td>\n<td>List of activities the achievement requires to complete</td>\n</tr>\n<tr>\n<td><code>permissions[].permission</code></td>\n<td>Authorized privileges the requesting user has for an achievement</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\":  {\n        \"id\": \"string\",\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"iconUrl\": \"string\",\n        \"pathwayId\": \"string\",\n        \"specialType\": \"string\",\n        \"progress\": \"double\",\n        \"achievedAt\": \"string\",\n        \"relationships\": {\n            \"studentListName\": \"string\",\n            \"requirements\" : [\n                {\n                    \"id\": \"string\",\n                    \"title\": \"string\",\n                    \"description\": \"string\",\n                    \"incentive\": \"string\",\n                    \"level\": {\n                        \"id\": \"string\",\n                        \"title\": \"string\",\n                        \"description\": \"string\",\n                        \"position\": \"integer\",\n                        \"pointsAwarded\": \"integer\",\n                        \"activitiesRequired\": \"integer\",\n                        \"iconUrl\": \"string\",\n                        \"nextLevel\": \"string\"\n                    },\n                    \"competencies\": [\n                        {\n                            \"id\": \"string\",\n                            \"title\": \"string\",\n                            \"description\": \"string\",\n                            \"color\": \"string\"\n                        }\n                    ],\n                    \"type\": \"string\",\n                    \"requiresApproval\": \"boolean\",\n                    \"requiresSubmission\": \"boolean\",\n                    \"requiresReflection\": \"boolean\",\n                    \"requiresQrCode\": \"boolean\",\n                    \"dateCreated\": \"string\",\n                    \"location\": \"string\",\n                    \"numOptional\": \"integer\",\n                    \"numRequired\":\"integer\"\n                }\n            ]\n        },\n        \"permissions\": [\n            {\n                \"permission\": \"string\"\n            }\n        ]\n    }\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","institutions",":institutionId","achievements",":achievementId"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[{"type":"any","value":"{{INSTITUTION_ID}}","key":"institutionId"},{"type":"any","value":"{{ACHIEVEMENT_ID}}","key":"achievementId"}]}},"response":[],"_postman_id":"3a0e01f8-6e60-4dfd-87a4-e1dabf72dd9f"}],"id":"71c296e4-0074-4a10-9372-9086cbfed64e","_postman_id":"71c296e4-0074-4a10-9372-9086cbfed64e","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"Pathway","item":[{"name":"Get Scorecard","event":[{"listen":"test","script":{"id":"d217160b-b55c-48d1-90c5-06989f311076","exec":["var jsonData = pm.response.json();","","// if (jsonData.data.achievements.meta.nextUrl !== null)","//     pm.environment.set(\"NEXT_URL\", jsonData.data.achievements.meta.nextUrl);","    ","// if (jsonData.data.completions.meta.nextUrl !== null)","//     pm.environment.set(\"NEXT_URL\", jsonData.data.completions.meta.nextUrl);","",""],"type":"text/javascript"}}],"id":"038f0fc0-a34c-4bad-af16-4a161d7e6b83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/profiles/{{PROFILE_ID}}/institutions/{{INSTITUTION_ID}}/scorecard","description":"<p>This request should serve as the entry point into retrieving a student's experience within a particular pathway on Suitable. If a student belongs to multiple pathways these will be listed under the <code>institutions.data</code> field with a respective <code>scorecardUrl</code> that can be used to download their experiences.</p>\n<p>For information on draining a particular stream see the <strong>Get Next Stream Url</strong> request. This request is a helper request that simulates draining a stream by following the series of urls provided in stream responses. If interested in following the <code>achievements</code> or <code>completions</code> stream within <strong>Postman</strong> head over to the <strong>Tests</strong> tab and uncomment out the stream's respective <em>IF</em> statement. This will initialize the <code>NEXT_URL</code> environment variable for the <strong>Get Next Stream Url</strong> request.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>profileId</code></td>\n<td>Unique Suitable Profile ID</td>\n</tr>\n<tr>\n<td><code>uniqueId</code></td>\n<td>Institution's Custom Identifier for a Student, usually the EMPLID</td>\n</tr>\n<tr>\n<td><code>currentPoints</code></td>\n<td>A student's current points within a specific pathway</td>\n</tr>\n<tr>\n<td><code>currentLevel</code></td>\n<td>A student's current level details within a specific pathway</td>\n</tr>\n<tr>\n<td><code>institution</code></td>\n<td>Details for the current pathway this record coincides with</td>\n</tr>\n<tr>\n<td><code>institutions</code></td>\n<td>A list of all pathways this student is enrolled in</td>\n</tr>\n<tr>\n<td><code>institutions.data[].scorecardUrl</code></td>\n<td>Entry point url to download a student's experience for that pathway</td>\n</tr>\n<tr>\n<td><code>competencies.data</code></td>\n<td>Point totals for all competencies hosted under the scorecard's pathway</td>\n</tr>\n<tr>\n<td><code>competencies.data[].competency</code></td>\n<td>Details the competency entry</td>\n</tr>\n<tr>\n<td><code>competencies.data[].currentPoints</code></td>\n<td>A student's current points for a particular competency</td>\n</tr>\n<tr>\n<td><code>competencies.data[].currentLevel</code></td>\n<td>A student's current level details for a particular competency</td>\n</tr>\n<tr>\n<td><code>achievements.data</code></td>\n<td>A list of all achievements this student has achieved or is enrolled in</td>\n</tr>\n<tr>\n<td><code>achievements.data[].type</code></td>\n<td>The specific type of achievement, can be either <code>MILESTONE</code>, <code>FEATURED</code>, <code>LEVEL</code>, or <code>COMPETENCY</code>. <code>MILESTONE</code> and <code>FEATURED</code> are custom achievements, while <code>LEVEL</code>, and <code>COMPETENCY</code> are platform generated achievements</td>\n</tr>\n<tr>\n<td><code>achievements.data[].visibility</code></td>\n<td>Whether the achievement is <code>ACTIVE</code> or <code>RETIRED</code>. A student retains <code>RETIRED</code> achievements if they were achieved prior to retirement</td>\n</tr>\n<tr>\n<td><code>achievements.meta.nextUrl</code></td>\n<td>A url to retrieve additional records in the student's achievements stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>completions.data</code></td>\n<td>A list of all completed activities for this student under the scorecard's pathway</td>\n</tr>\n<tr>\n<td><code>completions.meta.nextUrl</code></td>\n<td>A url to retrieve additional records in the student's completions stream, can be <code>null</code> if none are available</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"profileId\": \"string\",\n        \"uniqueId\": \"string\",\n        \"lastName\": \"string\",\n        \"firstName\": \"string\",\n        \"photoUrl\": \"string\",\n        \"statusType\": \"string\",\n        \"bio\": \"string\",\n        \"graduationYear\": \"string\",\n        \"currentPoints\": \"integer\",\n        \"currentLevel\": {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"shortTitle\": \"string\",\n            \"position\": \"integer\"\n        },\n        \"institution\" : {\n            \"id\": \"string\",\n            \"name\": \"string\",\n            \"pathwayTitle\": \"string\",\n            \"pathwayShortTitle\": \"string\",\n            \"photoUrl\": \"string\",\n            \"scorecardUrl\": \"string\",\n            \"location\": \"string\"\n        },\n        \"institutions\" : {\n            \"data\" : [\n                {\n                    \"id\": \"string\",\n                    \"name\": \"string\",\n                    \"pathwayTitle\": \"string\",\n                    \"pathwayShortTitle\": \"string\",\n                    \"photoUrl\": \"string\",\n                    \"scorecardUrl\": \"string\",\n                    \"location\": \"string\"\n                }\n            ]\n        },\n        \"competencies\" : {\n            \"data\" : [\n                {\n                    \"competency\" : {\n                        \"id\": \"string\",\n                        \"title\": \"string\",\n                        \"description\": \"string\",\n                        \"color\": \"string\"\n                    },\n                    \"currentPoints\": \"integer\",\n                    \"currentLevel\": {\n                        \"id\": \"string\",\n                        \"title\": \"string\",\n                        \"shortTitle\": \"string\",\n                        \"position\": \"integer\"\n                    }\n                }\n            ]\n        },\n        \"achievements\" : {\n            \"meta\" : {\n                \"nextCursor\": \"string\",\n                \"nextUrl\": \"string\"\n            },\n            \"data\" : [\n                {\n                    \"id\": \"string\",\n                    \"visibility\": \"string\",\n                    \"title\": \"string\",\n                    \"description\": \"string\",\n                    \"iconUrl\": \"string\",\n                    \"type\": \"string\",\n                    \"progress\": \"double\",\n                    \"achievedAt\": \"string\"\n                }\n            ]\n        },\n        \"completions\" : {\n            \"meta\" : {\n                \"nextCursor\": \"string\",\n                \"nextUrl\": \"string\"\n            },\n            \"data\" : [\n                {\n                    \"id\": \"string\",\n                    \"title\": \"string\",\n                    \"description\": \"string\",\n                    \"incentive\": \"string\",\n                    \"level\": {\n                        \"id\": \"string\",\n                        \"title\": \"string\",\n                        \"description\": \"string\",\n                        \"position\": \"integer\",\n                        \"pointsAwarded\": \"integer\",\n                        \"activitiesRequired\": \"integer\",\n                        \"iconUrl\": \"string\",\n                        \"nextLevel\": \"string\"\n                    },\n                    \"competencies\": [\n                        {\n                            \"id\": \"string\",\n                            \"title\": \"string\",\n                            \"description\": \"string\",\n                            \"color\": \"string\"\n                        }\n                    ],\n                    \"type\": \"string\",\n                    \"startDate\": \"integer\",\n                    \"endDate\": \"integer\",\n                    \"timeZone\": \"string\",\n                    \"requiresApproval\": \"boolean\",\n                    \"requiresSubmission\": \"boolean\",\n                    \"requiresReflection\": \"boolean\",\n                    \"requiresQrCode\": \"boolean\",\n                    \"dateCreated\": \"string\",\n                    \"location\": \"string\",\n                    \"numOptional\": \"integer\",\n                    \"numRequired\":\"integer\",\n                    \"footer\": {\n                        \"text\": \"string\",\n                        \"entries\": [\n                            {\n                                \"name\": \"string\",\n                                \"photoUrl\": \"string\"\n                            }\n                        ]\n                    },\n                    \"status\": \"string\",\n                    \"pointsAcquired\": \"integer\",\n                    \"reflection\": \"string\",\n                    \"dateCompleted\": \"integer\"\n                }\n            ]\n        }\n    }\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","profiles","{{PROFILE_ID}}","institutions","{{INSTITUTION_ID}}","scorecard"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[{"id":"fa83d003-fd3f-4866-8e52-6d62552969da","name":"200 - OK","originalRequest":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/profiles/{{PROFILE_ID}}/institutions/{{INSTITUTION_ID}}/scorecard"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 17 Apr 2020 19:49:44 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5e9a0857-e417c386978a3d76e1fdfa60;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"5858abbf7fd9f015-EWR","enabled":true},{"key":"Content-Encoding","value":"br","enabled":true},{"key":"cf-request-id","value":"022b49abac0000f015c6b86200000001","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"profileId\": \"1\",\n        \"uniqueId\": \"9289949932\",\n        \"lastName\": \"Jane\",\n        \"firstName\": \"Appleseed\",\n        \"photoUrl\": \"https://www.filepicker.io/api/file/ovF8zC8SFKV1CqnytSon\",\n        \"statusType\": \"Sophomore\",\n        \"bio\": null,\n        \"graduationYear\": \"2022\",\n        \"currentPoints\": 10,\n        \"currentLevel\": {\n            \"id\": \"150\",\n            \"title\": \"Level 1\",\n            \"position\": 1,\n            \"shortTitle\": \"Lvl 1\"\n        },\n        \"institution\": {\n            \"id\": \"1\",\n            \"name\": \"Suitable U, Suitable Ready\",\n            \"pathwayTitle\": \"Suitable Ready\",\n            \"pathwayShortTitle\": \"Ready\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/gTnm9OOTeyslgTEdPxxr\",\n            \"location\": \"Philadelphia, PA\",\n            \"scorecardUrl\": \"https://staging.suitable.co/v1/profiles/1/institutions/1/scorecard\"\n\t\t},\n        \"institutions\": {\n            \"data\": [\n                {\n\t\t\t\t\t\"id\": \"1\",\n\t\t\t\t\t\"name\": \"Suitable U, Suitable Ready\",\n\t\t\t\t\t\"pathwayTitle\": \"Suitable Ready\",\n\t\t\t\t\t\"pathwayShortTitle\": \"Ready\",\n\t\t\t\t\t\"photoUrl\": \"https://www.filepicker.io/api/file/gTnm9OOTeyslgTEdPxxr\",\n\t\t\t\t\t\"location\": \"Philadelphia, PA\",\n\t\t\t\t\t\"scorecardUrl\": \"https://staging.suitable.co/v1/profiles/1/institutions/1/scorecard\"\n                }\n            ]\n        },\n        \"competencies\": {\n            \"data\": [\n                {\n                    \"competency\": {\n\t\t\t\t\t\t\"id\": \"159\",\n\t\t\t\t\t\t\"title\": \"Civic and Social Engagement\",\n\t\t\t\t\t\t\"description\": \"Engaging in activities, projects and efforts that make direct contributions to the campus, community, city and global community via volunteer service, mentoring, peer educator, civic engagement, social entrepreneurship activities.\",\n\t\t\t\t\t\t\"color\": \"613618\"\n                    },\n                    \"currentPoints\": 10,\n                    \"currentLevel\": {\n                        \"id\": \"150\",\n                        \"title\": \"Level 1\",\n                        \"position\": 1,\n                        \"shortTitle\": \"Lvl 1\"\n                    }\n                },\n                {\n                    \"competency\": {\n                        \"id\": \"200\",\n                        \"title\": \"Global and Cultural Awareness\",\n                        \"description\": \"Understand diverse cultures and functions as a global citizen informed about issues that impact people, society, and nations.\",\n                        \"color\": \"45AD55\"\n                    },\n                    \"currentPoints\": 0,\n                    \"currentLevel\": {\n                        \"id\": \"150\",\n                        \"title\": \"Level 1\",\n                        \"position\": 1,\n                        \"shortTitle\": \"Lvl 1\"\n                    }\n                }\n            ]\n        },\n        \"achievements\": {\n            \"meta\": {\n                \"nextCursor\": \"TUE9PTpNQzR3Ok9UVXo=\",\n                \"nextUrl\": \"https://app.suitable.co/v1/profiles/1/institutions/1/achievements?cursor=TUE9PTpNQzR3Ok9UVXo%3D\"\n            },\n            \"data\": [\n                {\n                    \"id\": \"150\",\n                    \"title\": \"Level 1\",\n                    \"description\": \"Ranked up to Level 1\",\n                    \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                    \"visibility\": \"ACTIVE\",\n                    \"type\": \"LEVEL\",\n                    \"progress\": 1,\n                    \"achievedAt\": \"2019-05-02T01:36:45.832Z\"\n                },\n                {\n                    \"id\": \"1588\",\n                    \"title\": \"First Year Experience\",\n                    \"description\": \"Welcome to your First Year! In this achievement you will explore opportunities and resources that will help you during this exciting transition from high school to college. You will find many ways to get involved on campus, help for tough classes and support for navigating your academic options and planning for your future.\",\n                    \"iconUrl\": \"https://www.filepicker.io/api/file/NDgGhUyDRwy0b0RgQIUA\",\n                    \"visibility\": \"ACTIVE\",\n                    \"type\": \"FEATURED\",\n                    \"progress\": 0.5,\n                    \"achievedAt\": null\n                }\n            ]\n        },\n        \"completions\": {\n            \"meta\": {\n                \"nextCursor\": \"TVRVeU5qTXlNemM1TkRNME5nPT06TVRBM05EWTNOQT09\",\n                \"nextUrl\": \"https://app.suitable.co/v1/profiles/1/institutions/1/completions?cursor=TVRVeU5qTXlNemM1TkRNME5nPT06TVRBM05EWTNOQT09\"\n            },\n            \"data\": [\n                {\n\t\t\t\t\t\"id\": \"6174\",\n\t\t\t\t\t\"title\": \"Community Service\",\n\t\t\t\t\t\"description\": \"New Life Dresher organized community service participant.\",\n\t\t\t\t\t\"incentive\": null,\n\t\t\t\t\t\"level\": {\n\t\t\t\t\t  \"id\": \"150\",\n\t\t\t\t\t  \"title\": \"Level 1\",\n\t\t\t\t\t  \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n\t\t\t\t\t  \"position\": 1,\n\t\t\t\t\t  \"pointsAwarded\": 10,\n\t\t\t\t\t  \"activitiesRequired\": 3,\n\t\t\t\t\t  \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n\t\t\t\t\t  \"nextLevel\": \"151\"\n\t\t\t\t\t},\n\t\t\t\t\t\"competencies\": [\n\t\t\t\t\t  {\n\t\t\t\t\t\t\"id\": \"159\",\n\t\t\t\t\t\t\"title\": \"Civic and Social Engagement\",\n\t\t\t\t\t\t\"description\": \"Engaging in activities, projects and efforts that make direct contributions to the campus, community, city and global community via volunteer service, mentoring, peer educator, civic engagement, social entrepreneurship activities.\",\n\t\t\t\t\t\t\"color\": \"613618\"\n\t\t\t\t\t  }\n\t\t\t\t\t],\n\t\t\t\t\t\"type\": \"TASK\",\n\t\t\t\t\t\"requiresApproval\": false,\n\t\t\t\t\t\"requiresSubmission\": false,\n\t\t\t\t\t\"requiresReflection\": false,\n\t\t\t\t\t\"requiresQrCode\": false,\n\t\t\t\t\t\"pathway\": \"192\",\n\t\t\t\t\t\"employers\": [],\n                    \"startDate\": 1566208857453,\n                    \"endDate\": 1598241545803,\n\t\t\t\t\t\"dateCreated\": \"2020-01-27T17:34:43Z\",\n\t\t\t\t\t\"location\": null,\n\t\t\t\t\t\"cohorts\": [],\n\t\t\t\t\t\"requirements\": false,\n\t\t\t\t\t\"numOptional\": 0,\n\t\t\t\t\t\"numRequired\": 0,\n\t\t\t\t\t\"footer\": {\n\t\t\t\t\t  \"text\": \"Added by \",\n\t\t\t\t\t  \"entries\": [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t  \"name\": \"Suitable Ready\",\n\t\t\t\t\t\t  \"photoUrl\": \"https://www.filepicker.io/api/file/gTnm9OOTeyslgTEdPxxr\"\n\t\t\t\t\t\t}\n\t\t\t\t\t  ]\n\t\t\t\t\t},\n                    \"status\": \"COMPLETED\",\n                    \"progress\": 1,\n                    \"pointsAcquired\": 10,\n                    \"reflection\": null,\n                    \"pointsBalance\": null,\n                    \"optionalCompleted\": 0,\n                    \"requiredCompleted\": 0,\n                    \"dateCompleted\": 1578816123150,\n                    \"completed\": false\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"038f0fc0-a34c-4bad-af16-4a161d7e6b83"},{"name":"Get Scorecard Lookup","event":[{"listen":"test","script":{"id":"d217160b-b55c-48d1-90c5-06989f311076","exec":["if (pm.response.code == 200) {","    var jsonData = pm.response.json();","    pm.environment.set(\"PROFILE_ID\", jsonData.data.profileId);","}"],"type":"text/javascript"}}],"id":"2c3056f1-6c92-4cf3-bdcd-2a51e0737195","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/:institutionId/scorecardLookup/:lookupValue?lookupField=uniqueId","description":"<p>This request returns a user's profile ID and web scorecard url based on a lookup value. Users can be looked up by their SIS ID/Unique ID, Username, LIS Person Sourced ID, and Contact Email.</p>\n<p>If the user is found, this request will initialize the <code>PROFILE_ID</code> environment variable for the <strong>Get Scorecard</strong> request.</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>profileId</code></td>\n<td>Unique Suitable Profile ID</td>\n</tr>\n<tr>\n<td><code>webScorecardUrl</code></td>\n<td>A url to navigate to the user's scorecard for this institution on the web.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": {\n        \"profileId\": \"string\",\n        \"webScorecardUrl\": \"string\"\n    }\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","institutions",":institutionId","scorecardLookup",":lookupValue"],"host":["{{API_ENV}}","suitable","co"],"query":[{"description":{"content":"<p>Specify which identity field to look up from. Can be either uniqueId, lisPersonSourcedid, contactEmail, profileId, or username</p>\n","type":"text/plain"},"key":"lookupField","value":"uniqueId"}],"variable":[{"description":{"content":"<p>Institution to search from</p>\n","type":"text/plain"},"type":"any","value":"{{INSTITUTION_ID}}","key":"institutionId"},{"description":{"content":"<p>Value to lookup the user</p>\n","type":"text/plain"},"type":"any","value":"{{lookupValue}}","key":"lookupValue"}]}},"response":[{"id":"7152a82c-579e-4f6e-82e9-831f660ef403","name":"Get Scorecard Lookup","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://{{API_ENV}}.suitable.co/v1/institutions/:institutionId/scorecardLookup/:lookupValue?lookupField=uniqueId","protocol":"https","host":["{{API_ENV}}","suitable","co"],"path":["v1","institutions",":institutionId","scorecardLookup",":lookupValue"],"query":[{"key":"lookupField","value":"uniqueId"}],"variable":[{"key":"institutionId","value":"{{INSTITUTION_ID}}"},{"key":"lookupValue","value":"{{lookupValue}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 25 Feb 2024 20:29:34 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"vary","value":"Origin,Access-Control-Request-Method,Access-Control-Request-Headers","enabled":true},{"key":"content-security-policy","value":"base-uri 'self'; frame-ancestors 'self'","enabled":true},{"key":"content-language","value":"en-US","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubdomains; preload","enabled":true},{"key":"X-Content-Type-Options","value":"nosniff","enabled":true},{"key":"X-XSS-Protection","value":"1; mode=block","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"85b2b37fbe7bc461-EWR","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"profileId\": \"1\",\n        \"webScorecardUrl\": \"https://app.suitable.co/institution/1/scorecard/1\"\n    }\n}"}],"_postman_id":"2c3056f1-6c92-4cf3-bdcd-2a51e0737195"},{"name":"Leaderboard","id":"932e5787-5008-4a61-a5c2-57577e1431c4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/leaderboard?fromDate=2019-08-01&toDate=2019-12-31","description":"<p>List the current leaderboard for a specified pathway.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?fromDate=&lt;String&gt;\n?toDate=&lt;String&gt;\n</code></pre><p>If <code>fromDate</code> or <code>toDate</code> do not exist in the request, the all time leaderboard will be returned sorted by level and points. However if both <code>fromDate</code> and <code>toDate</code> exist, the leaderboard will be calculated based only on the points acquired within the provided time interval.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"entries\": [\n        {\n            \"id\": \"string\",\n            \"lastName\": \"string\",\n            \"firstName\": \"string\",\n            \"statusType\": \"string\",\n            \"photoUrl\": \"string\",\n            \"rank\": \"integer\",\n            \"points\": \"integer\",\n            \"globalLevel\": {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"description\": \"string\",\n                \"position\": \"integer\",\n                \"pointsAwarded\": \"integer\",\n                \"activitiesRequired\": \"integer\",\n                \"iconUrl\": \"string\"\n            }\n        }\n    ]\n}\n</code></pre>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","leaderboard"],"host":["{{API_ENV}}","suitable","co"],"query":[{"description":{"content":"<p>Start counting points acquired from this date, inclusive</p>\n","type":"text/plain"},"key":"fromDate","value":"2019-08-01"},{"description":{"content":"<p>Stop counting points acquired from this date, inclusive</p>\n","type":"text/plain"},"key":"toDate","value":"2019-12-31"}],"variable":[]}},"response":[{"id":"3b925547-258f-4b82-b9af-b08043c93e41","name":"200 - OK (All Time)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/leaderboard","protocol":"https","host":["{{API_ENV}}","suitable","co"],"path":["v1","catalogs","{{CATALOG_ID}}","leaderboard"],"query":[{"key":"fromDate","value":"2019-08-01","description":"Start counting points acquired from this date, inclusive","disabled":true},{"key":"toDate","value":"2019-12-31","description":"Stop counting points acquired from this date, inclusive","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 23 Aug 2019 18:56:42 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5d6036ea-24c9fb75af9015da82a0a5cc;","enabled":true},{"key":"X-Application-Context","value":"application:production","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"50af4edaec60cf38-IAD","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"entries\": [\n        {\n            \"id\": \"218048\",\n            \"lastName\": \"Appleseed\",\n            \"firstName\": \"Johnny\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/2Is18PnQzq9Eg8yd4ESN\",\n            \"rank\": 1,\n            \"points\": 360,\n            \"globalLevel\": {\n                \"id\": \"150\",\n                \"title\": \"Level 1\",\n                \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n                \"position\": 1,\n                \"pointsAwarded\": 10,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                \"nextLevel\": \"151\"\n            }\n        },\n        {\n            \"id\": \"262971\",\n            \"lastName\": \"Shelton\",\n            \"firstName\": \"Ana\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/O4ChPq2uRKiiCbyjApur\",\n            \"rank\": 2,\n            \"points\": 140,\n            \"globalLevel\": {\n                \"id\": \"150\",\n                \"title\": \"Level 1\",\n                \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n                \"position\": 1,\n                \"pointsAwarded\": 10,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                \"nextLevel\": \"151\"\n            }\n        },\n        {\n            \"id\": \"262970\",\n            \"lastName\": \"Morrison\",\n            \"firstName\": \"Edna\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/Azn16gcTtO5d1rdeUbH9\",\n            \"rank\": 3,\n            \"points\": 140,\n            \"globalLevel\": {\n                \"id\": \"150\",\n                \"title\": \"Level 1\",\n                \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n                \"position\": 1,\n                \"pointsAwarded\": 10,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                \"nextLevel\": \"151\"\n            }\n        },\n        {\n            \"id\": \"262972\",\n            \"lastName\": \"Johnson\",\n            \"firstName\": \"Garrett\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/oOYRtql6QwC5ZIXv5KCk\",\n            \"rank\": 4,\n            \"points\": 140,\n            \"globalLevel\": {\n                \"id\": \"150\",\n                \"title\": \"Level 1\",\n                \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n                \"position\": 1,\n                \"pointsAwarded\": 10,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                \"nextLevel\": \"151\"\n            }\n        },\n        {\n            \"id\": \"262973\",\n            \"lastName\": \"Reynolds\",\n            \"firstName\": \"Linda\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/diXRoVBRH2Ll0i46tOSB\",\n            \"rank\": 5,\n            \"points\": 140,\n            \"globalLevel\": {\n                \"id\": \"150\",\n                \"title\": \"Level 1\",\n                \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n                \"position\": 1,\n                \"pointsAwarded\": 10,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                \"nextLevel\": \"151\"\n            }\n        },\n        {\n            \"id\": \"262969\",\n            \"lastName\": \"Cannon\",\n            \"firstName\": \"Jimmy\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/TMGNeGCSyClUXYdctPLw\",\n            \"rank\": 6,\n            \"points\": 140,\n            \"globalLevel\": {\n                \"id\": \"150\",\n                \"title\": \"Level 1\",\n                \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n                \"position\": 1,\n                \"pointsAwarded\": 10,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                \"nextLevel\": \"151\"\n            }\n        },\n        {\n            \"id\": \"262968\",\n            \"lastName\": \"Sims\",\n            \"firstName\": \"Donald\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/QEaDL5XeSIqDyKw8bfg2\",\n            \"rank\": 7,\n            \"points\": 140,\n            \"globalLevel\": {\n                \"id\": \"150\",\n                \"title\": \"Level 1\",\n                \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n                \"position\": 1,\n                \"pointsAwarded\": 10,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                \"nextLevel\": \"151\"\n            }\n        }\n    ]\n}"},{"id":"f76a79ad-6e1c-4af1-b6d4-28f974f87241","name":"200 - OK (Time Restriction)","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/leaderboard?fromDate=2019-08-01&toDate=2019-12-31","protocol":"https","host":["{{API_ENV}}","suitable","co"],"path":["v1","catalogs","{{CATALOG_ID}}","leaderboard"],"query":[{"key":"fromDate","value":"2019-08-01","description":"Start counting points acquired from this date, inclusive"},{"key":"toDate","value":"2019-12-31","description":"Stop counting points acquired from this date, inclusive"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 23 Aug 2019 18:59:31 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5d603792-7d18579407c3e326c5cd86ea;","enabled":true},{"key":"X-Application-Context","value":"application:production","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"50af52f66b00cf38-IAD","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"entries\": [\n        {\n            \"id\": \"218048\",\n            \"lastName\": \"Appleseed\",\n            \"firstName\": \"Johnny\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/2Is18PnQzq9Eg8yd4ESN\",\n            \"rank\": 1,\n            \"points\": 360,\n            \"globalLevel\": {}\n        },\n        {\n            \"id\": \"262970\",\n            \"lastName\": \"Morrison\",\n            \"firstName\": \"Edna\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/Azn16gcTtO5d1rdeUbH9\",\n            \"rank\": 2,\n            \"points\": 140,\n            \"globalLevel\": {}\n        },\n        {\n            \"id\": \"262971\",\n            \"lastName\": \"Shelton\",\n            \"firstName\": \"Ana\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/O4ChPq2uRKiiCbyjApur\",\n            \"rank\": 3,\n            \"points\": 140,\n            \"globalLevel\": {}\n        },\n        {\n            \"id\": \"262969\",\n            \"lastName\": \"Cannon\",\n            \"firstName\": \"Jimmy\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/TMGNeGCSyClUXYdctPLw\",\n            \"rank\": 4,\n            \"points\": 140,\n            \"globalLevel\": {}\n        },\n        {\n            \"id\": \"262973\",\n            \"lastName\": \"Reynolds\",\n            \"firstName\": \"Linda\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/diXRoVBRH2Ll0i46tOSB\",\n            \"rank\": 5,\n            \"points\": 140,\n            \"globalLevel\": {}\n        },\n        {\n            \"id\": \"262968\",\n            \"lastName\": \"Sims\",\n            \"firstName\": \"Donald\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/QEaDL5XeSIqDyKw8bfg2\",\n            \"rank\": 6,\n            \"points\": 140,\n            \"globalLevel\": {}\n        },\n        {\n            \"id\": \"262972\",\n            \"lastName\": \"Johnson\",\n            \"firstName\": \"Garrett\",\n            \"statusType\": \"Freshman\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/oOYRtql6QwC5ZIXv5KCk\",\n            \"rank\": 7,\n            \"points\": 140,\n            \"globalLevel\": {}\n        }\n    ]\n}"}],"_postman_id":"932e5787-5008-4a61-a5c2-57577e1431c4"},{"name":"List Levels","id":"10d4d643-ec6e-45ad-a161-e9ba25d42cd3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/levels","description":"<p>Returns a list of levels offered on the platform</p>\n<h4 id=\"field-glossary\">Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Level's identifier</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>Level's title</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Level's description</td>\n</tr>\n<tr>\n<td><code>position</code></td>\n<td>Level's numerical position</td>\n</tr>\n<tr>\n<td><code>pointsAwarded</code></td>\n<td>Number of points an activity at this level awards per competency</td>\n</tr>\n<tr>\n<td><code>nextLevel</code></td>\n<td>Id of the next highest level</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"id\": \"string\",\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"position\": \"integer\",\n        \"pointsAwarded\": \"integer\",\n        \"nextLevel\": \"string\"\n    }\n]\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","levels"],"host":["{{API_ENV}}","suitable","co"],"query":[{"disabled":true,"key":"fromDate","value":"2019-08-01"},{"disabled":true,"key":"toDate","value":"2019-12-31"},{"disabled":true,"key":"classes","value":"150"}],"variable":[]}},"response":[],"_postman_id":"10d4d643-ec6e-45ad-a161-e9ba25d42cd3"}],"id":"da361bfe-f006-4929-a87f-5cd7e908f27d","_postman_id":"da361bfe-f006-4929-a87f-5cd7e908f27d","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"Helpers","item":[{"name":"Get Next Stream Url","event":[{"listen":"test","script":{"id":"28e0c814-ed12-42cd-9a18-1c9c92ec0027","exec":["var jsonData = pm.response.json();","if (jsonData.meta.nextUrl !== null)","    pm.environment.set(\"NEXT_URL\", jsonData.meta.nextUrl);"],"type":"text/javascript"}}],"id":"305ea945-b064-4cbe-a412-8edfe69a0059","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{NEXT_URL}}","description":"<p>This is a helper request that simulates draining a stream by following the series of urls provided in stream responses. The <strong>Tests</strong> set up the <code>NEXT_URL</code> in a stream if a response returns a non-null value, which indicates there could be more data to retrieve.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"meta\" : {\n        \"nextCursor\": \"string\",\n        \"nextUrl\": \"string\"\n    },\n    \"data\" : \"list\"\n}\n</code></pre>\n","urlObject":{"host":["{{NEXT_URL}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"305ea945-b064-4cbe-a412-8edfe69a0059"}],"id":"e916c2f0-ae0d-4baa-a3d0-6f534ef2fe9c","description":"<p>Helper requests that simplify interacting with the Suitable API within Postman</p>\n","_postman_id":"e916c2f0-ae0d-4baa-a3d0-6f534ef2fe9c","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"Student Organizations","item":[{"name":"Get a student organization memberships across organization","id":"8e916415-35ba-4d4e-9bbd-aec58f71984f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/organizations/{{ORGANIZATION_ID}}/studentOrgMembers?studentOrganizationIds=11320","description":"<p>Retrieve a paginated list of student members associated with one or more Student Organizations within a parent organization.</p>\n<p>This endpoint supports filtering by member role, associated Student Organization, and text query (e.g., email or username).</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Method</strong></th>\n<th><strong>URL</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>GET</code></td>\n<td><code>/v1/organizations/{ORGANIZATION_ID}/studentOrgMembers</code></td>\n<td>Get a list of student organization members.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ORGANIZATION_ID</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the parent organization.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example Value</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>accessRoles</code></td>\n<td><code>array</code></td>\n<td>Filters the results to include only members who hold one of the specified access roles (e.g., <code>admin</code>, <code>member</code>, <code>manager</code>).</td>\n<td><code>admin</code> <code>member</code></td>\n<td>Can be specified multiple times to match multiple roles.</td>\n</tr>\n<tr>\n<td><code>studentOrganizationIds</code></td>\n<td><code>array</code></td>\n<td>Filters the results to include only members of the Student Organizations with the specified IDs.</td>\n<td><code>2183</code></td>\n<td>Can be specified multiple times for multiple Student Organizations.</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td><code>string</code></td>\n<td>Searches for members whose profile properties (like email, username, or name) match the query string.</td>\n<td><code>test.student@suitable.co</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>cursor</code></td>\n<td><code>string</code></td>\n<td>The pagination cursor provided in the previous response's <code>meta.nextCursor</code> field. Used to fetch the next page of results.</td>\n<td><code>TVRjMU9USTBOalUyTXpRME53PT06...</code></td>\n<td>Required for pagination.</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td><code>integer</code></td>\n<td>Specifies the maximum number of results to return per page.</td>\n<td><code>50</code></td>\n<td>Defaults to 50. Max 100.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure-200-ok\">Response Structure (<code>200 OK</code>)</h2>\n<p>The response returns a paginated list of student organization members.</p>\n<h3 id=\"response-model-json-schema\">Response Model (JSON Schema)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"meta\": {\n    \"nextCursor\": \"string\",\n    \"nextUrl\": \"string\"\n  },\n  \"data\": [\n    {\n      \"compositeId\": \"string\",\n      \"organizationId\": \"string\",\n      \"studentOrganizationId\": \"string\",\n      \"profileId\": \"string\",\n      \"studentOrganizationShort\": {\n        \"id\": \"string\",\n        \"hashId\": \"string\",\n        \"name\": \"string\",\n        \"photoUrl\": \"string\"\n      },\n      \"profileShort\": {\n        \"id\": \"string\",\n        \"firstName\": \"string\",\n        \"lastName\": \"string\",\n        \"photoUrl\": \"string\"\n      },\n      \"authorizedProperties\": [\n        {\n          \"label\": \"string\",\n          \"key\": \"string\",\n          \"value\": \"string\"\n        }\n      ],\n      \"permissions\": [\n        {\n          \"permission\": \"string\"\n        }\n      ]\n    }\n  ]\n}\n\n</code></pre>\n<h3 id=\"schema-definitions\">Schema Definitions</h3>\n<h4 id=\"studentorgmember-object\"><code>StudentOrgMember</code> Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>compositeId</code></td>\n<td><code>string</code></td>\n<td>A unique, composite identifier for this student organization membership record.</td>\n</tr>\n<tr>\n<td><code>organizationId</code></td>\n<td><code>string</code></td>\n<td>The ID of the parent organization.</td>\n</tr>\n<tr>\n<td><code>studentOrganizationId</code></td>\n<td><code>string</code></td>\n<td>The ID of the Student Organization the member belongs to.</td>\n</tr>\n<tr>\n<td><code>profileId</code></td>\n<td><code>string</code></td>\n<td>The ID of the student's profile.</td>\n</tr>\n<tr>\n<td><code>studentOrganizationShort</code></td>\n<td><code>object</code></td>\n<td>Basic details of the Student Organization (ID, name, photo URL).</td>\n</tr>\n<tr>\n<td><code>profileShort</code></td>\n<td><code>object</code></td>\n<td>Basic profile details of the student (ID, names, photo URL).</td>\n</tr>\n<tr>\n<td><code>authorizedProperties</code></td>\n<td><code>array</code></td>\n<td>A list of key-value properties describing the member's status (e.g., access role, username, date created).</td>\n</tr>\n<tr>\n<td><code>permissions</code></td>\n<td><code>array</code></td>\n<td>A list of permissions available to the authenticated user regarding this membership.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"meta-object\"><code>`meta` Object</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nextCursor</code></td>\n<td><code>string</code></td>\n<td>A token to use in the <code>cursor</code> query parameter to fetch the next page of results. Will be empty or omitted if no more pages exist.</td>\n</tr>\n<tr>\n<td><code>nextUrl</code></td>\n<td><code>string</code></td>\n<td>The complete URL to fetch the next page of results. Will be empty or omitted if no more pages exist.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"authorizedproperties-array-item\"><code>`authorizedProperties` Array Item</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>label</code></td>\n<td><code>string</code></td>\n<td>Human-readable name of the property (e.g., \"Access Role\").</td>\n</tr>\n<tr>\n<td><code>key</code></td>\n<td><code>string</code></td>\n<td>The machine-readable key for the property (e.g., <code>accessRole</code>, <code>username</code>).</td>\n</tr>\n<tr>\n<td><code>value</code></td>\n<td><code>string</code></td>\n<td>The value of the property. Can be empty.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request\"><code>Example Request</code></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /v1/organizations/2510/studentOrgMembers?accessRoles=admin&amp;accessRoles=member&amp;studentOrganizationIds=2183&amp;query=arnold.palmer@suitable.co\n\n</code></pre>","urlObject":{"protocol":"https","path":["v1","organizations","{{ORGANIZATION_ID}}","studentOrgMembers"],"host":["{{API_ENV}}","suitable","co"],"query":[{"disabled":true,"key":"accessRoles","value":"admin"},{"disabled":true,"key":"accessRoles","value":"member"},{"disabled":true,"key":"query","value":"test.student@suitable.co"},{"key":"studentOrganizationIds","value":"11320"}],"variable":[]}},"response":[],"_postman_id":"8e916415-35ba-4d4e-9bbd-aec58f71984f"},{"name":"Get a stream of student organizations from Institution","event":[{"listen":"test","script":{"id":"e93f32f8-0583-460d-bb61-f8ca056e1e2a","exec":["// pm.environment.set(\"STUDENT_ORGANIZATION_ID\", _.get(pm.response.json(), 'data.id'));","// pm.environment.set(\"CONTENT_SECTION_ID\", _.get(pm.response.json(), 'data.contentSections[0].id'));","","// pm.test(\"Received hash Id\", function () {","//     const webProfileUrl = pm.response.json().data.webProfileUrl","//     const hashId = _.last(webProfileUrl.split('/'))","//     pm.expect(hashId).to.be.a('string')","//     pm.environment.set(\"HASH_ID\", hashId)","    ","// })"],"type":"text/javascript","packages":{},"requests":{}}}],"id":"0d30cb4e-6c46-42b0-b3e7-4e1bf75f06c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":"https://{{API_ENV}}.suitable.co/v1/institutions/{{INSTITUTION_ID}}/studentOrganizations?query=","description":"<p>Retrieve a paginated list of all Student Organizations associated with a specific Institution.</p>\n<p>This endpoint supports filtering by a text query, typically matching the organization's name.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Method</strong></th>\n<th><strong>URL</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>GET</code></td>\n<td><code>/v1/institutions/{INSTITUTION_ID}/studentOrganizations</code></td>\n<td>Get a list of Student Organizations within an institution.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>INSTITUTION_ID</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the institution.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example Value</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>query</code></td>\n<td><code>string</code></td>\n<td>Searches for Student Organizations whose name matches the query string.</td>\n<td><code>name of student org</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>cursor</code></td>\n<td><code>string</code></td>\n<td>The pagination cursor provided in the previous response's <code>meta.nextCursor</code> field. Used to fetch the next page of results.</td>\n<td><code>UVcxbGNtbGpZVzRnVTI5amFXVjBlU0J2WmlCTnpXTm9ZVzVwWTJGc0lFVnVaMmx1WldWeWN5QW9RVk5OUlNrPTpNVFV3TmpZPQ==</code></td>\n<td>Required for pagination.</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td><code>integer</code></td>\n<td>Specifies the maximum number of results to return per page.</td>\n<td><code>50</code></td>\n<td>Defaults to 50. Max 100.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure-200-ok\">Response Structure (<code>200 OK</code>)</h2>\n<p>The response returns a paginated list of student organizations.</p>\n<h3 id=\"response-model-json-schema\">Response Model (JSON Schema)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"meta\": {\n    \"nextCursor\": \"string\",\n    \"nextUrl\": \"string\"\n  },\n  \"data\": [\n    {\n      \"id\": \"string\",\n      \"organizationId\": \"string\",\n      \"name\": \"string\",\n      \"photoUrl\": \"string\",\n      \"backgroundPhotoUrl\": \"string\",\n      \"webProfileUrl\": \"string\",\n      \"mobileProfileUrl\": \"string\",\n      \"type\": \"string\",\n      \"linked\": \"boolean\"\n    }\n  ]\n}\n\n</code></pre>\n<h3 id=\"schema-definitions\">Schema Definitions</h3>\n<h4 id=\"studentorganization-object\"><code>StudentOrganization</code> Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the Student Organization.</td>\n</tr>\n<tr>\n<td><code>organizationId</code></td>\n<td><code>string</code></td>\n<td>The ID of the parent organization associated with the Student Organization.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><code>string</code></td>\n<td>The full name of the Student Organization.</td>\n</tr>\n<tr>\n<td><code>photoUrl</code></td>\n<td><code>string</code></td>\n<td>URL to the Student Organization's main profile photo.</td>\n</tr>\n<tr>\n<td><code>backgroundPhotoUrl</code></td>\n<td><code>string</code></td>\n<td>URL to the Student Organization's background or cover photo.</td>\n</tr>\n<tr>\n<td><code>webProfileUrl</code></td>\n<td><code>string</code></td>\n<td>The web link to the Student Organization's profile page.</td>\n</tr>\n<tr>\n<td><code>mobileProfileUrl</code></td>\n<td><code>string</code></td>\n<td>The deep link URL for the mobile application to the organization's profile.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><code>string</code></td>\n<td>The type of the student group (e.g., <code>STUDENT_GROUP</code>).</td>\n</tr>\n<tr>\n<td><code>linked</code></td>\n<td><code>boolean</code></td>\n<td>Indicates if the organization is currently linked or active.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"meta-object\"><code>meta</code> Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nextCursor</code></td>\n<td><code>string</code></td>\n<td>A token to use in the <code>cursor</code> query parameter to fetch the next page of results. Will be empty or omitted if no more pages exist.</td>\n</tr>\n<tr>\n<td><code>nextUrl</code></td>\n<td><code>string</code></td>\n<td>The complete URL to fetch the next page of results. Will be empty or omitted if no more pages exist.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request\">Example Request</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET /v1/institutions/8302/studentOrganizations?query=name+of+student+org\n\n</code></pre>","urlObject":{"protocol":"https","path":["v1","institutions","{{INSTITUTION_ID}}","studentOrganizations"],"host":["{{API_ENV}}","suitable","co"],"query":[{"key":"query","value":""}],"variable":[]}},"response":[{"id":"419af3ad-b68e-41f1-a072-b9747e0780f3","name":"Get a stream of student organizations","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"}],"url":{"raw":"{{BASE_URL}}/v1/organizations/{{ORGANIZATION_ID}}/studentOrganizations?query=&context=ALL_AVAILABLE","host":["{{BASE_URL}}"],"path":["v1","organizations","{{ORGANIZATION_ID}}","studentOrganizations"],"query":[{"key":"query","value":""},{"key":"context","value":"ALL_AVAILABLE"}]}},"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n    \"meta\": {\n        \"nextCursor\": \"string\",\n        \"nextUrl\": \"string\"\n    },\n    \"data\": [\n        {\n            \"name\": \"Org One\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"1\",\n            \"linked\": true,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },\n        {\n            \"name\": \"Organization name on multiple (two) lines\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"2\",\n            \"linked\": true,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },\n        {\n            \"name\": \"If the organization name was incredibly long, longer than any organization name has a right to be\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"3\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },\n        {\n            \"name\": \"Short\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"4\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },\n        {\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"5\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },\n        {\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"6 \",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"7\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"8\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"9\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"10\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K,\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"11\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"12\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"13\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"14\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"15\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"114\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n        },{\n            \"name\": \"Organization name\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\",\n            \"id\": \"1115\",\n            \"linked\": false,\n            \"profileUrl\":\n                \"https://www.filepicker.io/api/file/ed6H65KRHSmaRqz4px5K\"\n        }\n    ]\n}\n}\n"}],"_postman_id":"0d30cb4e-6c46-42b0-b3e7-4e1bf75f06c0"}],"id":"4fb5b9fe-7041-447c-aa15-f61b57908450","_postman_id":"4fb5b9fe-7041-447c-aa15-f61b57908450","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"Forms","item":[{"name":"Get NACE Form Groups","id":"80bc18a5-8bf9-466b-ab24-18c099e3a200","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/organizations/{{ORGANIZATION_ID}}/formGroups/institution/{{INSTITUTION_ID}}/NACE_V1?archivedAt=isNull","description":"<h1 id=\"get-nace-form-groups\">Get NACE Form Groups</h1>\n<p>Retrieve a paginated list of NACE (National Association of Colleges and Employers) career readiness form groups for a specific institution within an organization.</p>\n<p>These form groups contain specific forms related to career readiness assessments, observer assignments, and student demographics.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Method</strong></th>\n<th><strong>URL</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>GET</code></td>\n<td><code>/v1/organizations/{ORGANIZATION_ID}/formGroups/institution/{INSTITUTION_ID}/NACE_V1</code></td>\n<td>Get a list of NACE form groups and their associated forms.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ORGANIZATION_ID</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the organization.</td>\n</tr>\n<tr>\n<td><code>INSTITUTION_ID</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the institution.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example Value</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>archivedAt</code></td>\n<td><code>string</code></td>\n<td>Filters results based on their archival status.</td>\n<td><code>isNull</code></td>\n<td>Use <code>isNull</code> to return only active, non-archived form groups.</td>\n</tr>\n<tr>\n<td><code>cursor</code></td>\n<td><code>string</code></td>\n<td>The pagination cursor provided in the previous response's <code>meta.nextCursor</code> field. Used to fetch the next page of results.</td>\n<td><code>TVRjME9URXpORGM1TUR...</code></td>\n<td>Required for pagination.</td>\n</tr>\n<tr>\n<td><code>limit</code></td>\n<td><code>integer</code></td>\n<td>Specifies the maximum number of results to return per page.</td>\n<td><code>50</code></td>\n<td>Defaults to 50. Max 100.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure-200-ok\">Response Structure (<code>200 OK</code>)</h2>\n<p>The response returns a paginated list of NACE form groups.</p>\n<h3 id=\"response-model-json-schema\">Response Model (JSON Schema)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"meta\": {\n    \"nextCursor\": \"string\",\n    \"nextUrl\": \"string\",\n    \"count\": \"integer\"\n  },\n  \"data\": [\n    {\n      \"id\": \"string\",\n      \"hashId\": \"string\",\n      \"workflowHashId\": \"string\",\n      \"title\": \"string\",\n      \"forms\": [\n        {\n          \"id\": \"string\",\n          \"hashId\": \"string\",\n          \"title\": \"string\",\n          \"visibility\": \"string\",\n          \"description\": \"string\",\n          \"formType\": \"string\",\n          \"dateCreated\": \"string\",\n          \"lastUpdated\": \"string\",\n          \"formResponseCount\": \"integer\",\n          \"shareWebSubmitUrl\": \"string\",\n          \"permissions\": [\n            {\n              \"permission\": \"string\"\n            }\n          ]\n        }\n      ],\n      \"permissions\": [\n        {\n          \"permission\": \"string\"\n        }\n      ]\n    }\n  ]\n}\n\n</code></pre><h3 id=\"schema-definitions\">Schema Definitions</h3>\n<h4 id=\"formgroup-object\"><code>FormGroup</code> Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the form group.</td>\n</tr>\n<tr>\n<td><code>hashId</code></td>\n<td><code>string</code></td>\n<td>The obfuscated, public identifier for the form group.</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td><code>string</code></td>\n<td>The display name of the form group (e.g., \"Career Readiness Student Assessment\").</td>\n</tr>\n<tr>\n<td><code>forms</code></td>\n<td><code>array</code></td>\n<td>A list of individual <code>Form</code> objects contained within this group.</td>\n</tr>\n<tr>\n<td><code>permissions</code></td>\n<td><code>array</code></td>\n<td>Actions the authenticated user can perform on this form group (e.g., <code>copy</code>, <code>archive</code>, <code>update</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"form-object-within-forms-array\"><code>`Form` Object (within `forms` array)</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the form.</td>\n</tr>\n<tr>\n<td><code>hashId</code></td>\n<td><code>string</code></td>\n<td>The obfuscated identifier used for public submission links.</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td><code>string</code></td>\n<td>The name of the form (e.g., \"Assign Observer\").</td>\n</tr>\n<tr>\n<td><code>visibility</code></td>\n<td><code>string</code></td>\n<td>The status of the form (e.g., <code>PUBLISHED</code>, <code>DRAFT</code>).</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td><code>string</code></td>\n<td>Instructions or details provided to the respondent.</td>\n</tr>\n<tr>\n<td><code>formType</code></td>\n<td><code>string</code></td>\n<td>The NACE-specific category of the form (e.g., <code>NACE_OBSERVER_ASSESSMENT_V1</code>).</td>\n</tr>\n<tr>\n<td><code>dateCreated</code></td>\n<td><code>string</code></td>\n<td>ISO 8601 timestamp of when the form was created.</td>\n</tr>\n<tr>\n<td><code>shareWebSubmitUrl</code></td>\n<td><code>string</code></td>\n<td>The URL used to share and submit the form via web browser.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"meta-object\"><code>`meta` Object</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nextCursor</code></td>\n<td><code>string</code></td>\n<td>Token for fetching the next page of results.</td>\n</tr>\n<tr>\n<td><code>nextUrl</code></td>\n<td><code>string</code></td>\n<td>The complete URL for the next page of results.</td>\n</tr>\n<tr>\n<td><code>count</code></td>\n<td><code>integer</code></td>\n<td>Total number of items available (may be null if not requested).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request\"><code>Example Request</code></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl '[https://app.suitable.co/v1/organizations/3004/formGroups/institution/8105/NACE_V1?archivedAt=isNull](https://app.suitable.co/v1/organizations/3004/formGroups/institution/8105/NACE_V1?archivedAt=isNull)' \\\n  -H &amp;#x27;Authorization: Bearer &lt;TOKEN&gt;&amp;#x27; \\\n  -H 'Accept: application/json'\n\n</code></pre>","urlObject":{"protocol":"https","path":["v1","organizations","{{ORGANIZATION_ID}}","formGroups","institution","{{INSTITUTION_ID}}","NACE_V1"],"host":["{{API_ENV}}","suitable","co"],"query":[{"key":"archivedAt","value":"isNull"}],"variable":[]}},"response":[],"_postman_id":"80bc18a5-8bf9-466b-ab24-18c099e3a200"},{"name":"Get Form Response Detail","id":"71f519da-aa49-432e-8651-ca919e77133f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/forms/{{FORM_HASH_ID}}/responses/{{RESPONSE_ID}}","description":"<h1 id=\"get-specific-form-response\">Get Specific Form Response</h1>\n<p>Retrieve the full details of a specific form submission, including the submitter's profile, the associated activity, the complete form structure (pages and questions), and the specific answers provided.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Method</strong></th>\n<th><strong>URL</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>GET</code></td>\n<td><code>/v1/forms/{FORM_HASH_ID}/responses/{RESPONSE_ID}</code></td>\n<td>Get the full details and answers for a specific form submission.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>FORM_HASH_ID</code></td>\n<td><code>string</code></td>\n<td>The unique hash identifier of the parent form.</td>\n</tr>\n<tr>\n<td><code>RESPONSE_ID</code></td>\n<td><code>integer</code></td>\n<td>The unique numeric identifier of the specific response record.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure-200-ok\">Response Structure (<code>200 OK</code>)</h2>\n<p>The response returns a <code>data</code> object containing the submission metadata, the form's structural layout, and the respondent's answers.</p>\n<h3 id=\"response-model-json-schema\">Response Model (JSON Schema)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"data\": {\n    \"formTitle\": \"string\",\n    \"formHashId\": \"string\",\n    \"responseId\": \"integer\",\n    \"dateCreated\": \"string\",\n    \"profile\": {\n      \"username\": \"string\",\n      \"profileId\": \"string\",\n      \"firstName\": \"string\",\n      \"lastName\": \"string\",\n      \"photoUrl\": \"string\"\n    },\n    \"activity\": {\n      \"id\": \"string\",\n      \"title\": \"string\"\n    },\n    \"form\": {\n      \"id\": \"string\",\n      \"title\": \"string\",\n      \"formType\": \"string\",\n      \"pages\": [\n        {\n          \"id\": \"string\",\n          \"title\": \"string\",\n          \"questions\": [\n            {\n              \"id\": \"string\",\n              \"prompt\": \"string\",\n              \"type\": {\n                \"family\": \"string\",\n                \"subType\": \"string\"\n              }\n            }\n          ]\n        }\n      ]\n    },\n    \"formResponse\": [\n      {\n        \"questionId\": \"integer\",\n        \"responseText\": \"string\",\n        \"responseNumeric\": \"integer\",\n        \"responseFileUrl\": \"string\",\n        \"responseOptions\": [\n          {\n            \"id\": \"string\",\n            \"label\": \"string\"\n          }\n        ]\n      }\n    ]\n  }\n}\n\n</code></pre><h3 id=\"schema-definitions\">Schema Definitions</h3>\n<h4 id=\"responsedetail-object-top-level\"><code>ResponseDetail</code> Object (Top Level)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>formTitle</code></td>\n<td><code>string</code></td>\n<td>The title of the form submitted.</td>\n</tr>\n<tr>\n<td><code>formHashId</code></td>\n<td><code>string</code></td>\n<td>The unique hash ID of the form.</td>\n</tr>\n<tr>\n<td><code>responseId</code></td>\n<td><code>integer</code></td>\n<td>The unique numeric ID for this specific submission.</td>\n</tr>\n<tr>\n<td><code>dateCreated</code></td>\n<td><code>string</code></td>\n<td>ISO 8601 timestamp of when the form was submitted.</td>\n</tr>\n<tr>\n<td><code>profile</code></td>\n<td><code>object</code></td>\n<td>Profile information of the user who submitted the form.</td>\n</tr>\n<tr>\n<td><code>form</code></td>\n<td><code>object</code></td>\n<td>The structural definition of the form (pages, questions, types).</td>\n</tr>\n<tr>\n<td><code>formResponse</code></td>\n<td><code>array</code></td>\n<td>The specific answers provided, mapped to question IDs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"formanswer-object-within-formresponse-array\"><code>`FormAnswer` Object (within `formResponse` array)</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>questionId</code></td>\n<td><code>integer</code></td>\n<td>The ID of the question being answered.</td>\n</tr>\n<tr>\n<td><code>responseText</code></td>\n<td><code>string</code></td>\n<td>Provided for text-based questions (Short/Long Text).</td>\n</tr>\n<tr>\n<td><code>responseNumeric</code></td>\n<td><code>number</code></td>\n<td>Provided for numeric input questions.</td>\n</tr>\n<tr>\n<td><code>responseFileUrl</code></td>\n<td><code>string</code></td>\n<td>The URL of a file if the question was a file upload.</td>\n</tr>\n<tr>\n<td><code>responseOptions</code></td>\n<td><code>array</code></td>\n<td>List of selected options for Multiple Choice or Checkbox questions.</td>\n</tr>\n<tr>\n<td><code>responseStatements</code></td>\n<td><code>array</code></td>\n<td>Data for Matrix questions, including statement IDs and weights/ranks.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"profile-object\"><code>`Profile` Object</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>username</code></td>\n<td><code>string</code></td>\n<td>The email address or username of the respondent.</td>\n</tr>\n<tr>\n<td><code>profileId</code></td>\n<td><code>string</code></td>\n<td>The unique identifier for the user's profile.</td>\n</tr>\n<tr>\n<td><code>firstName</code></td>\n<td><code>string</code></td>\n<td>The user's first name.</td>\n</tr>\n<tr>\n<td><code>lastName</code></td>\n<td><code>string</code></td>\n<td>The user's last name.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v1","forms","{{FORM_HASH_ID}}","responses","{{RESPONSE_ID}}"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"71f519da-aa49-432e-8651-ca919e77133f"},{"name":"Get Form Responses","id":"0c3cb225-e33a-45d6-a519-0c67f2dacedf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/forms/{{FORM_HASH_ID}}/responses?sortBy=statusChangedAt:desc","description":"<h1 id=\"get-form-responses\">Get Form Responses</h1>\n<p>Retrieve a paginated list of responses for a specific form. This endpoint is commonly used to track the status of Career Readiness assessments and other form-based activities.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Method</strong></th>\n<th><strong>URL</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>GET</code></td>\n<td><code>/v1/forms/{FORM_HASH_ID}/responses</code></td>\n<td>Get a list of responses submitted for a specific form.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>FORM_HASH_ID</code></td>\n<td><code>string</code></td>\n<td>The unique hash identifier of the form (e.g., <code>aehpuYkNsqMOHm7A</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"query-parameters\">Query Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Example Value</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>` sortBy**</td>\n<td><code>string</code></td>\n<td>Specifies the field and direction to sort the results.</td>\n<td><code>statusChangedAt:desc</code></td>\n<td>Format:<code>field:order</code> . Common fields: <code>statusChangedAt</code> , <code>dateCreated</code> .</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure-200-ok\">Response Structure (<code>200 OK</code>)</h2>\n<p>The response returns a paginated list of form response records.</p>\n<h3 id=\"response-model-json-schema\">Response Model (JSON Schema)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"meta\": {\n    \"nextCursor\": \"string\",\n    \"nextUrl\": \"string\",\n    \"count\": \"integer\"\n  },\n  \"data\": [\n    {\n      \"id\": \"string\",\n      \"formTitle\": \"string\",\n      \"formHashId\": \"string\",\n      \"formResponseHashId\": \"string\",\n      \"formId\": \"integer\",\n      \"dateCreated\": \"integer\",\n      \"statusChangedAt\": \"integer\",\n      \"responseRequestSentAt\": \"integer\",\n      \"responseStatus\": \"string\",\n      \"submitterName\": \"string\",\n      \"subjectName\": \"string\",\n      \"subjectUsername\": \"string\",\n      \"careerReadinessReportLink\": \"string\",\n      \"profile\": {\n        \"username\": \"string\",\n        \"profileId\": \"string\",\n        \"firstName\": \"string\",\n        \"lastName\": \"string\",\n        \"photoUrl\": \"string\"\n      },\n      \"permissions\": [\n        {\n          \"permission\": \"string\"\n        }\n      ]\n    }\n  ]\n}\n\n</code></pre><h3 id=\"schema-definitions\">Schema Definitions</h3>\n<h4 id=\"formresponse-object\"><code>FormResponse</code> Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>The unique identifier of the response record.</td>\n</tr>\n<tr>\n<td><code>formTitle</code></td>\n<td><code>string</code></td>\n<td>The title of the form associated with this response.</td>\n</tr>\n<tr>\n<td><code>formHashId</code></td>\n<td><code>string</code></td>\n<td>The hash identifier of the parent form.</td>\n</tr>\n<tr>\n<td><code>formResponseHashId</code></td>\n<td><code>string</code></td>\n<td>The unique hash identifier for this specific response.</td>\n</tr>\n<tr>\n<td><code>dateCreated</code></td>\n<td><code>integer</code></td>\n<td>Unix timestamp (ms) of when the response record was created.</td>\n</tr>\n<tr>\n<td><code>responseStatus</code></td>\n<td><code>string</code></td>\n<td>The current state of the response (e.g., <code>COMPLETED</code>, <code>PENDING</code>).</td>\n</tr>\n<tr>\n<td><code>submitterName</code></td>\n<td><code>string</code></td>\n<td>The name of the person who submitted the form.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"profile-object\"><code>profile</code> Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>username</code></td>\n<td><code>string</code></td>\n<td>The email address/username of the user.</td>\n</tr>\n<tr>\n<td><code>profileId</code></td>\n<td><code>string</code></td>\n<td>The unique ID of the user's profile.</td>\n</tr>\n<tr>\n<td><code>firstName</code></td>\n<td>` string**</td>\n<td>The user's first name.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request\">Example Request</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl '[https://app.suitable.co/v1/forms/aehpuYkNsqMOHm7A/responses?sortBy=statusChangedAt:desc](https://app.suitable.co/v1/forms/aehpuYkNsqMOHm7A/responses?sortBy=statusChangedAt:desc)' \\\n  -H &amp;#x27;Authorization: Bearer &lt;TOKEN&gt;&amp;#x27; \\\n  -H 'Accept: application/json'\n\n</code></pre>","urlObject":{"protocol":"https","path":["v1","forms","{{FORM_HASH_ID}}","responses"],"host":["{{API_ENV}}","suitable","co"],"query":[{"key":"sortBy","value":"statusChangedAt:desc"}],"variable":[]}},"response":[],"_postman_id":"0c3cb225-e33a-45d6-a519-0c67f2dacedf"},{"name":"Get Form Response Filters","id":"88477281-252e-42de-9356-fbe95c71f16b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/forms/{{FORM_HASH_ID}}/filters","description":"<h1 id=\"get-form-filters\">Get Form Filters</h1>\n<p>Retrieve the available filtering and sorting options for a specific form's responses. This endpoint also returns the full structure of the form, including pages and questions, to help build dynamic filter interfaces.</p>\n<h2 id=\"endpoint\">Endpoint</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Method</strong></th>\n<th><strong>URL</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>GET</code></td>\n<td><code>/v1/forms/{FORM_HASH_ID}/filters</code></td>\n<td>Get filtering and sorting options for a specific form.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"path-parameters\">Path Parameters</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Name</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>FORM_HASH_ID</code></td>\n<td><code>string</code></td>\n<td>The unique hash identifier of the form (e.g., <code>aehpuYkNsqMOHm7A</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"response-structure-200-ok\">Response Structure (<code>200 OK</code>)</h2>\n<p>The response returns a data object containing filter configurations, sort options, and form details.</p>\n<h3 id=\"response-model-json-schema\">Response Model (JSON Schema)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"data\": {\n    \"filters\": [\n      {\n        \"type\": \"string\",\n        \"id\": \"string\",\n        \"label\": \"string\",\n        \"options\": [\n          {\n            \"id\": \"string\",\n            \"label\": \"string\",\n            \"checked\": \"boolean\"\n          }\n        ]\n      }\n    ],\n    \"sortBys\": [\n      {\n        \"id\": \"string\",\n        \"label\": \"string\",\n        \"checked\": \"boolean\"\n      }\n    ],\n    \"form\": {\n      \"id\": \"string\",\n      \"hashId\": \"string\",\n      \"title\": \"string\",\n      \"formType\": \"string\",\n      \"pages\": [\n        {\n          \"id\": \"string\",\n          \"nOrder\": \"integer\",\n          \"questions\": [\n            {\n              \"id\": \"string\",\n              \"prompt\": \"string\",\n              \"type\": {\n                \"family\": \"string\",\n                \"subType\": \"string\"\n              }\n            }\n          ]\n        }\n      ]\n    }\n  }\n}\n\n</code></pre><h3 id=\"schema-definitions\">Schema Definitions</h3>\n<h4 id=\"filter-object-within-filters-array\"><code>Filter</code> Object (within <code>filters</code> array)</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type</code></td>\n<td><code>string</code></td>\n<td>The category of the filter (e.g., <code>responseStatus</code>).</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Unique identifier for the filter group.</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td><code>string</code></td>\n<td>Display name for the filter group (e.g., \"Status\").</td>\n</tr>\n<tr>\n<td><code>options</code></td>\n<td><code>array</code></td>\n<td>List of selectable values for this filter.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"sortoption-object-within-sortbys-array\"><code>`SortOption` Object (within `sortBys` array)</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>The value to pass to the <code>sortBy</code> query parameter (e.g., <code>statusChangedAt:desc</code>).</td>\n</tr>\n<tr>\n<td><code>label</code></td>\n<td><code>string</code></td>\n<td>Human-readable description of the sort order.</td>\n</tr>\n<tr>\n<td><code>checked</code></td>\n<td><code>boolean</code></td>\n<td>Indicates if this is the currently active sort method.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"form-object\"><code>`Form` Object</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Internal numeric ID of the form.</td>\n</tr>\n<tr>\n<td><code>hashId</code></td>\n<td><code>string</code></td>\n<td>Public hash identifier of the form.</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td><code>string</code></td>\n<td>The display title of the form.</td>\n</tr>\n<tr>\n<td><code>formType</code></td>\n<td><code>string</code></td>\n<td>The functional type classification (e.g., <code>NACE_OBSERVER_ASSESSMENT_V1</code>).</td>\n</tr>\n<tr>\n<td><code>pages</code></td>\n<td><code>array</code></td>\n<td>The structural layout of the form containing questions.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"question-object-within-pagesquestions-array\"><code>`Question` Object (within `pages[].questions` array)</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td><code>string</code></td>\n<td>Unique identifier for the question.</td>\n</tr>\n<tr>\n<td><code>prompt</code></td>\n<td><code>string</code></td>\n<td>The text of the question or instruction.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><code>object</code></td>\n<td>Object containing <code>family</code> (e.g., <code>SINGLE_SELECT</code>) and <code>subType</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"example-request\"><code>Example Request</code></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>curl --location --globoff '[https://app.suitable.co/v1/forms/aehpuYkNsqMOHm7A/filters](https://app.suitable.co/v1/forms/aehpuYkNsqMOHm7A/filters)' \\\n--header &amp;#x27;Authorization: Bearer &lt;TOKEN&gt;&amp;#x27;\n\n</code></pre>","urlObject":{"protocol":"https","path":["v1","forms","{{FORM_HASH_ID}}","filters"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[{"id":"7e1e790e-8377-42fb-af41-0935733d7356","name":"Get Form Response Filters","originalRequest":{"method":"GET","header":[],"url":"{{BASE_URL}}/v1/forms/{{FORM_HASH_ID}}/filters"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubdomains; preload"},{"key":"Content-Security-Policy","value":"frame-ancestors 'self'"},{"key":"Content-Security-Policy-Report-Only","value":"base-uri 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://localhost:8888 http://localhost:6565 cdn.mxpnl.com static.filestackapi.com static.zdassets.com widget-mediator.zopim.com survey.survicate.com; script-src-elem 'self' 'unsafe-inline' http://localhost:8888 http://localhost:6565 cdn.mxpnl.com static.filestackapi.com static.zdassets.com widget-mediator.zopim.com survey.survicate.com; script-src-attr 'self' 'unsafe-eval' http://localhost:8888 http://localhost:6565 cdn.mxpnl.com static.filestackapi.com static.zdassets.com widget-mediator.zopim.com survey.survicate.com; style-src 'self' 'unsafe-inline' http://localhost:8888 http://localhost:6565 static.zdassets.com surveys-static.survicate.com static.filestackapi.com fonts.googleapis.com; style-src-elem 'self' 'unsafe-inline' http://localhost:8888 http://localhost:6565 static.zdassets.com surveys-static.survicate.com static.filestackapi.com fonts.googleapis.com; style-src-attr 'self' 'unsafe-inline' http://localhost:8888 http://localhost:6565 static.zdassets.com surveys-static.survicate.com static.filestackapi.com fonts.googleapis.com; img-src 'self' blob: http://localhost:8888 http://localhost:6565 cdn.filestackcontent.com www.filepicker.io static.zdassets.com s3.amazonaws.com static.filestackapi.com live.staticflickr.com app-resources-suitable-co.s3.amazonaws.com; connect-src 'self' blob: http://localhost:8888 http://localhost:6565 ws://localhost:6565 https://ekr.zdassets.com https://api-js.mixpanel.com https://suitablesupport.zendesk.com wss://widget-mediator.zopim.com https://*.filestackapi.com https://*.s3.amazonaws.com https://cdn.filestackcontent.com; font-src 'self' http://localhost:8888 http://localhost:6565 surveys-static.survicate.com fonts.gstatic.com; media-src 'self' http://localhost:8888 http://localhost:6565 static.zdassets.com; manifest-src 'self' http://localhost:8888 http://localhost:6565; form-action 'self' http://localhost:8888; report-uri https://browser-intake-datadoghq.com/api/v2/logs?dd-api-key=pub9a201fd39856b682e50eb7c971e18a54&dd-evp-origin=content-security-policy&ddsource=csp-report&ddtags=service%3Acsp-report-development%2Cenv%3Adevelopment"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Content-Language","value":"en-US"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 10 Oct 2024 00:57:54 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"filters\": [\n            {\n                \"type\": \"activityIds\",\n                \"label\": \"Activity\",\n                \"options\": [\n                    {\n                        \"id\": \"332661\",\n                        \"label\": \"Institution.0 Form Task Updated\",\n                        \"checked\": false,\n                        \"iconUrl\": null\n                    }\n                ]\n            }\n        ],\n        \"sortBys\": [\n            {\n                \"id\": \"dateCreated:asc\",\n                \"label\": \"Date Created - Ascending\",\n                \"checked\": false,\n                \"iconUrl\": null\n            },\n            {\n                \"id\": \"dateCreated:desc\",\n                \"label\": \"Date Created - Descending\",\n                \"checked\": false,\n                \"iconUrl\": null\n            }\n        ],\n        \"form\": {\n            \"id\": \"52\",\n            \"accessProperties\": {\n                \"publicAccess\": true,\n                \"authorizedRoles\": []\n            },\n            \"title\": \"formTitle\",\n            \"visibility\": \"PUBLISHED\",\n            \"description\": \"formDescription\",\n            \"headerImageUrl\": \"https://cdn.filestackcontent.com/hDZ53uwQGeQMqmZoznz1\",\n            \"allowMultipleSubmissions\": true,\n            \"audience\": \"ORGANIZATION_USERS\",\n            \"formType\": \"CUSTOM\",\n            \"locked\": false,\n            \"dateCreated\": \"2024-09-26T17:48:10Z\",\n            \"lastUpdated\": \"2024-09-26T17:48:22Z\",\n            \"archivedAt\": null,\n            \"publishedAt\": \"2024-09-26T17:48:22Z\",\n            \"publicAccess\": \"public\",\n            \"activityForm\": true,\n            \"pages\": [\n                {\n                    \"questions\": [\n                        {\n                            \"id\": \"159\",\n                            \"type\": {\n                                \"family\": \"TEXT_ENTRY\",\n                                \"subType\": \"SHORT_TEXT\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"SHORT_TEXT prompt\",\n                            \"instructions\": \"SHORT_TEXT INSTRUCTIONS\",\n                            \"nOrder\": 0,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true,\n                                \"maxLength\": 100,\n                                \"minLength\": 20\n                            }\n                        },\n                        {\n                            \"id\": \"160\",\n                            \"type\": {\n                                \"family\": \"TEXT_ENTRY\",\n                                \"subType\": \"LONG_TEXT\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"LONG_TEXT prompt\",\n                            \"instructions\": \"LONG_TEXT INSTRUCTIONS\",\n                            \"nOrder\": 1,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true,\n                                \"maxLength\": 2000,\n                                \"minLength\": 100\n                            }\n                        },\n                        {\n                            \"id\": \"161\",\n                            \"type\": {\n                                \"family\": \"TEXT_ENTRY\",\n                                \"subType\": \"NUMERIC\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"NUMERIC prompt\",\n                            \"instructions\": \"NUMERIC INSTRUCTIONS\",\n                            \"nOrder\": 2,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"maximum\": 3000,\n                                \"minimum\": 0,\n                                \"required\": true\n                            }\n                        }\n                    ],\n                    \"id\": \"79\",\n                    \"title\": \"page 0\",\n                    \"description\": \"page 0 description\",\n                    \"nOrder\": 0,\n                    \"locked\": false\n                },\n                {\n                    \"questions\": [\n                        {\n                            \"id\": \"162\",\n                            \"options\": [\n                                {\n                                    \"id\": \"189\",\n                                    \"label\": \"option 0\",\n                                    \"nOrder\": 0,\n                                    \"weight\": 2\n                                },\n                                {\n                                    \"id\": \"190\",\n                                    \"label\": \"option 1\",\n                                    \"nOrder\": 1,\n                                    \"weight\": 1\n                                },\n                                {\n                                    \"id\": \"191\",\n                                    \"label\": \"option 2\",\n                                    \"nOrder\": 2,\n                                    \"weight\": 3\n                                },\n                                {\n                                    \"id\": \"192\",\n                                    \"label\": \"option 3\",\n                                    \"nOrder\": 3,\n                                    \"weight\": 2\n                                }\n                            ],\n                            \"statements\": [\n                                {\n                                    \"id\": \"103\",\n                                    \"label\": \"statement 0\",\n                                    \"nOrder\": 0\n                                },\n                                {\n                                    \"id\": \"104\",\n                                    \"label\": \"statement 1\",\n                                    \"nOrder\": 1\n                                },\n                                {\n                                    \"id\": \"105\",\n                                    \"label\": \"statement 2\",\n                                    \"nOrder\": 2\n                                },\n                                {\n                                    \"id\": \"106\",\n                                    \"label\": \"statement 3\",\n                                    \"nOrder\": 3\n                                }\n                            ],\n                            \"type\": {\n                                \"family\": \"MATRIX\",\n                                \"subType\": \"RATING\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"RATING prompt\",\n                            \"instructions\": \"RATING INSTRUCTIONS\",\n                            \"nOrder\": 0,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true,\n                                \"oneStatementPerOption\": true\n                            }\n                        },\n                        {\n                            \"id\": \"163\",\n                            \"options\": [\n                                {\n                                    \"id\": \"193\",\n                                    \"label\": \"option 0\",\n                                    \"nOrder\": 0\n                                },\n                                {\n                                    \"id\": \"194\",\n                                    \"label\": \"option 1\",\n                                    \"nOrder\": 1\n                                },\n                                {\n                                    \"id\": \"195\",\n                                    \"label\": \"option 2\",\n                                    \"nOrder\": 2\n                                },\n                                {\n                                    \"id\": \"196\",\n                                    \"label\": \"option 3\",\n                                    \"nOrder\": 3\n                                }\n                            ],\n                            \"statements\": [\n                                {\n                                    \"id\": \"107\",\n                                    \"label\": \"statement 0\",\n                                    \"nOrder\": 0\n                                },\n                                {\n                                    \"id\": \"108\",\n                                    \"label\": \"statement 1\",\n                                    \"nOrder\": 1\n                                },\n                                {\n                                    \"id\": \"109\",\n                                    \"label\": \"statement 2\",\n                                    \"nOrder\": 2\n                                },\n                                {\n                                    \"id\": \"110\",\n                                    \"label\": \"statement 3\",\n                                    \"nOrder\": 3\n                                }\n                            ],\n                            \"type\": {\n                                \"family\": \"MATRIX\",\n                                \"subType\": \"WEIGHTLESS\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"WEIGHTLESS prompt\",\n                            \"instructions\": \"WEIGHTLESS INSTRUCTIONS\",\n                            \"nOrder\": 1,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true,\n                                \"oneStatementPerOption\": true\n                            }\n                        },\n                        {\n                            \"id\": \"164\",\n                            \"statements\": [\n                                {\n                                    \"id\": \"111\",\n                                    \"label\": \"statement 0\",\n                                    \"nOrder\": 0\n                                },\n                                {\n                                    \"id\": \"112\",\n                                    \"label\": \"statement 1\",\n                                    \"nOrder\": 1\n                                },\n                                {\n                                    \"id\": \"113\",\n                                    \"label\": \"statement 2\",\n                                    \"nOrder\": 2\n                                },\n                                {\n                                    \"id\": \"114\",\n                                    \"label\": \"statement 3\",\n                                    \"nOrder\": 3\n                                }\n                            ],\n                            \"type\": {\n                                \"family\": \"MATRIX\",\n                                \"subType\": \"RANKING\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"RANKING prompt\",\n                            \"instructions\": \"RANKING INSTRUCTIONS\",\n                            \"nOrder\": 2,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true\n                            }\n                        }\n                    ],\n                    \"id\": \"80\",\n                    \"title\": \"page 1\",\n                    \"description\": \"page 1 description\",\n                    \"nOrder\": 1,\n                    \"locked\": false\n                },\n                {\n                    \"questions\": [\n                        {\n                            \"id\": \"165\",\n                            \"options\": [\n                                {\n                                    \"id\": \"197\",\n                                    \"label\": \"option 0\",\n                                    \"nOrder\": 0\n                                },\n                                {\n                                    \"id\": \"198\",\n                                    \"label\": \"option 1\",\n                                    \"nOrder\": 1\n                                },\n                                {\n                                    \"id\": \"199\",\n                                    \"label\": \"option 2\",\n                                    \"nOrder\": 2\n                                },\n                                {\n                                    \"id\": \"200\",\n                                    \"label\": \"option 3\",\n                                    \"nOrder\": 3\n                                }\n                            ],\n                            \"type\": {\n                                \"family\": \"SINGLE_SELECT\",\n                                \"subType\": null\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"SINGLE_SELECT prompt\",\n                            \"instructions\": \"SINGLE_SELECT INSTRUCTIONS\",\n                            \"nOrder\": 0,\n                            \"additionalProperties\": {\n                                \"display\": \"list\"\n                            },\n                            \"validations\": {\n                                \"required\": true\n                            }\n                        },\n                        {\n                            \"id\": \"166\",\n                            \"type\": {\n                                \"family\": \"INSTRUCTIONS\",\n                                \"subType\": null\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"INSTRUCTIONS prompt\",\n                            \"instructions\": \"INSTRUCTIONS INSTRUCTIONS\",\n                            \"nOrder\": 1,\n                            \"additionalProperties\": {},\n                            \"validations\": {}\n                        },\n                        {\n                            \"id\": \"167\",\n                            \"type\": {\n                                \"family\": \"DATE_TIME\",\n                                \"subType\": \"DATE_TIME\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"DATE_TIME prompt\",\n                            \"instructions\": \"DATE_TIME INSTRUCTIONS\",\n                            \"nOrder\": 2,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true\n                            }\n                        }\n                    ],\n                    \"id\": \"81\",\n                    \"title\": \"page 2\",\n                    \"description\": \"page 2 description\",\n                    \"nOrder\": 2,\n                    \"locked\": false\n                },\n                {\n                    \"questions\": [\n                        {\n                            \"id\": \"168\",\n                            \"type\": {\n                                \"family\": \"DATE_TIME\",\n                                \"subType\": \"DATE\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"DATE prompt\",\n                            \"instructions\": \"DATE INSTRUCTIONS\",\n                            \"nOrder\": 0,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true\n                            }\n                        },\n                        {\n                            \"id\": \"169\",\n                            \"type\": {\n                                \"family\": \"DATE_TIME\",\n                                \"subType\": \"TIME\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"TIME prompt\",\n                            \"instructions\": \"TIME INSTRUCTIONS\",\n                            \"nOrder\": 1,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true\n                            }\n                        },\n                        {\n                            \"id\": \"170\",\n                            \"options\": [\n                                {\n                                    \"id\": \"201\",\n                                    \"label\": \"option 0\",\n                                    \"nOrder\": 0\n                                },\n                                {\n                                    \"id\": \"202\",\n                                    \"label\": \"option 1\",\n                                    \"nOrder\": 1\n                                },\n                                {\n                                    \"id\": \"203\",\n                                    \"label\": \"option 2\",\n                                    \"nOrder\": 2\n                                },\n                                {\n                                    \"id\": \"204\",\n                                    \"label\": \"option 3\",\n                                    \"nOrder\": 3\n                                }\n                            ],\n                            \"type\": {\n                                \"family\": \"CHECKBOXES\",\n                                \"subType\": \"MULTIPLE\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"MULTIPLE prompt\",\n                            \"instructions\": \"MULTIPLE INSTRUCTIONS\",\n                            \"nOrder\": 2,\n                            \"additionalProperties\": {\n                                \"display\": \"list\"\n                            },\n                            \"validations\": {\n                                \"minItems\": 1,\n                                \"maxItems\": 4,\n                                \"required\": true\n                            }\n                        }\n                    ],\n                    \"id\": \"82\",\n                    \"title\": \"page 3\",\n                    \"description\": \"page 3 description\",\n                    \"nOrder\": 3,\n                    \"locked\": false\n                },\n                {\n                    \"questions\": [\n                        {\n                            \"id\": \"171\",\n                            \"options\": [\n                                {\n                                    \"id\": \"205\",\n                                    \"label\": \"option 0\",\n                                    \"nOrder\": 0\n                                }\n                            ],\n                            \"type\": {\n                                \"family\": \"CHECKBOXES\",\n                                \"subType\": \"CONSENT\"\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"CONSENT prompt\",\n                            \"instructions\": \"CONSENT INSTRUCTIONS\",\n                            \"nOrder\": 0,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true\n                            }\n                        },\n                        {\n                            \"id\": \"172\",\n                            \"type\": {\n                                \"family\": \"FILE_UPLOAD\",\n                                \"subType\": null\n                            },\n                            \"metadata\": {\n                                \"referenceId\": null\n                            },\n                            \"locked\": false,\n                            \"prompt\": \"FILE_UPLOAD prompt\",\n                            \"instructions\": \"FILE_UPLOAD INSTRUCTIONS\",\n                            \"nOrder\": 1,\n                            \"additionalProperties\": {},\n                            \"validations\": {\n                                \"required\": true\n                            }\n                        }\n                    ],\n                    \"id\": \"83\",\n                    \"title\": \"page 4\",\n                    \"description\": \"page 4 description\",\n                    \"nOrder\": 4,\n                    \"locked\": false\n                }\n            ],\n            \"webSubmitUrl\": \"http://localhost:8888/form-submit/b46tQcrqhGAe\",\n            \"mobileSubmitUrl\": \"http://localhost:8888/form-submit/b46tQcrqhGAe\",\n            \"shareWebSubmitUrl\": \"http://localhost:8888/form-submit/b46tQcrqhGAe\",\n            \"shareWebSubmitQrCodeUrl\": \"https://app-buckets-development-resourcesbucket-1hnu3br52q8uu.s3.amazonaws.com/development/qr-codes/2024/9/26/formTitle/3b3c9644-81f1-4f5b-8637-e092d6571d99-2547482576368417497.png\",\n            \"permissions\": [\n                {\n                    \"permission\": \"form:preview:52\"\n                },\n                {\n                    \"permission\": \"form:update:52\"\n                },\n                {\n                    \"permission\": \"form:shareForm:52\"\n                },\n                {\n                    \"permission\": \"form:archive:52\"\n                },\n                {\n                    \"permission\": \"form:submitForm:52\"\n                },\n                {\n                    \"permission\": \"form:copy:52\"\n                },\n                {\n                    \"permission\": \"form:exportForm:52\"\n                },\n                {\n                    \"permission\": \"form:viewFormResponses:52\"\n                },\n                {\n                    \"permission\": \"form:submitForm:52\"\n                }\n            ],\n            \"_links\": {\n                \"self\": {\n                    \"href\": \"http://localhost:8888/v1/organizations/1292/forms/52\"\n                },\n                \"web:edit\": {\n                    \"href\": \"http://localhost:8888/organization/1292/forms/edit/52?tab=questions\"\n                },\n                \"api:archive\": {\n                    \"href\": \"http://localhost:8888/v1/organizations/1292/forms/52/visibility?takeAction=ARCHIVE\"\n                },\n                \"web:duplicate\": {\n                    \"href\": \"http://localhost:8888/organization/1292/forms/create?tab=questions&duplicateId=52\"\n                },\n                \"api:export\": {\n                    \"href\": \"http://localhost:8888/v1/organizations/1292/forms/52/export\"\n                },\n                \"web:export\": {\n                    \"href\": \"http://localhost:8888/forms/b46tQcrqhGAe/responses\"\n                }\n            }\n        }\n    }\n}"}],"_postman_id":"88477281-252e-42de-9356-fbe95c71f16b"}],"id":"97f52cc6-70d7-4718-99d5-4b9f7b1c37f0","_postman_id":"97f52cc6-70d7-4718-99d5-4b9f7b1c37f0","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}},{"name":"Deprecations","item":[{"name":"List Activities (Legacy)","id":"790f99ab-e370-4774-9a2e-38867fe8177c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities?type=TASK","description":"<blockquote>\n<p>Note: Please use <strong>Get Activity Stream</strong> to query for activities in a pathway.</p>\n</blockquote>\n<p>List Activities within the specified pathway.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?type=&lt;String&gt;\n</code></pre><p>The <code>type</code> parameter is used to specify either <code>TASK</code> or <code>EVENT</code>, if omitted, request will return both types. Currently past events (within 12 months) are returned in the response body.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"activities\": [\n        {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"incentive\": \"string\",\n            \"level\": {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"description\": \"string\",\n                \"position\": \"integer\",\n                \"pointsAwarded\": \"integer\",\n                \"activitiesRequired\": \"integer\",\n                \"iconUrl\": \"string\",\n                \"nextLevel\": \"string\"\n            },\n            \"competencies\": [\n                {\n                    \"id\": \"string\",\n                    \"title\": \"string\",\n                    \"description\": \"string\",\n                    \"color\": \"string\"\n                }\n            ],\n            \"type\": \"string\",\n            \"requiresApproval\": \"boolean\",\n            \"requiresSubmission\": \"boolean\",\n            \"requiresReflection\": \"boolean\",\n            \"requiresQrCode\": \"boolean\",\n            \"pathway\": \"string\",\n            \"dueDateTZ\": \"string\",\n            \"dueDate\": \"string\",\n            \"time\": \"string\",\n            \"dateCreated\": \"string\",\n            \"location\": \"string\",\n            \"requirements\":  \"boolean\",\n            \"numOptional\": \"integer\",\n            \"numRequired\":\"integer\",\n            \"footer\": {\n                \"text\": \"string\",\n                \"entries\": [\n                    {\n                        \"name\": \"string\",\n                        \"photoUrl\": \"string\"\n                    }\n                ]\n            }\n        }\n    ]\n}\n</code></pre>","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities"],"host":["{{API_ENV}}","suitable","co"],"query":[{"description":{"content":"<p>Optionally restrict Activities for EVENT or TASK types</p>\n","type":"text/plain"},"key":"type","value":"TASK"}],"variable":[]}},"response":[{"id":"b2fd0f89-b7bb-4299-beca-a80249ea5155","name":"200 - OK","originalRequest":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 25 Apr 2019 19:49:19 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5cc20f3f-6eed46d0748fe8b0ec3b1830;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"4cd2d6edb93699da-EWR","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"activities\": [\n        {\n            \"id\": \"6174\",\n            \"title\": \"Community Service\",\n            \"description\": \"New Life Dresher organized community service participant.\",\n            \"incentive\": null,\n            \"level\": {\n                \"id\": \"150\",\n                \"title\": \"Level 1\",\n                \"description\": \"Involves exposure and activities that give an introduction to this specific competency. The goal of activities at Level 1 is just to give an introduction to the competency, what you might experience as a new person within an organization.\",\n                \"position\": 1,\n                \"pointsAwarded\": 10,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-1.png\",\n                \"nextLevel\": \"151\"\n            },\n            \"competencies\": [\n                {\n                    \"id\": \"159\",\n                    \"title\": \"Civic and Social Engagement\",\n                    \"description\": \"Engaging in activities, projects and efforts that make direct contributions to the campus, community, city and global community via volunteer service, mentoring, peer educator, civic engagement, social entrepreneurship activities.\",\n                    \"color\": \"613618\"\n                }\n            ],\n            \"type\": \"TASK\",\n            \"requiresApproval\": false,\n            \"requiresSubmission\": false,\n            \"requiresReflection\": false,\n            \"requiresQrCode\": false,\n            \"pathway\": \"192\",\n            \"employers\": [],\n            \"dueDateTZ\": null,\n            \"dueDate\": null,\n            \"time\": null,\n            \"dateCreated\": \"2016-08-27T17:34:43Z\",\n            \"location\": null,\n            \"cohorts\": [],\n            \"requirements\": false,\n            \"numOptional\": 0,\n            \"numRequired\": 0,\n            \"footer\": {\n                \"text\": \"Added by \",\n                \"entries\": [\n                    {\n                        \"name\": \"Suitable Ready\",\n                        \"photoUrl\": \"https://www.filepicker.io/api/file/gTnm9OOTeyslgTEdPxxr\"\n                    }\n                ]\n            }\n        },\n        {\n            \"id\": \"6184\",\n            \"title\": \"First HeartSine Convention - Las Vegas\",\n            \"description\": \"Went to first HeartSine Conference in Las Vegas. Had a corporate relationship with HeartSine and was introduced to HeartSine dealers that in turn started to do business with Univest Capital. HeartSine was later sold to Physio Control which was then sold to Stryker for $1.28 Billion shortly afterwards.\",\n            \"incentive\": null,\n            \"level\": {\n                \"id\": \"152\",\n                \"title\": \"Level 3\",\n                \"description\": \"Involves engagement, which means activities at this level require a higher level of involvement in order to develop this competency. The goal of activities in Level 3 is to get you to develop some level of skill or proficiency that takes you a step further to becoming an expert.\",\n                \"position\": 3,\n                \"pointsAwarded\": 50,\n                \"activitiesRequired\": 3,\n                \"iconUrl\": \"https://s3.amazonaws.com/dev-web.suitable.co/images/Level-Badge-3.png\",\n                \"nextLevel\": \"153\"\n            },\n            \"competencies\": [\n                {\n                    \"id\": \"157\",\n                    \"title\": \"Networking and Relationship Management\",\n                    \"description\": \"Cultivating one's personal and professional networks to include stronger peer networks, better connections with alumni, and fully developed professional development networks.\",\n                    \"color\": \"EF812A\"\n                }\n            ],\n            \"type\": \"EVENT\",\n            \"requiresApproval\": false,\n            \"requiresSubmission\": false,\n            \"requiresReflection\": false,\n            \"requiresQrCode\": false,\n            \"pathway\": \"192\",\n            \"employers\": [],\n            \"dueDateTZ\": \"America/New_York\",\n            \"dueDate\": \"2019-08-27T17:30:00Z\",\n            \"time\": \"1:30 PM EDT\",\n            \"dateCreated\": \"2016-08-27T17:34:43Z\",\n            \"location\": null,\n            \"cohorts\": [],\n            \"requirements\": false,\n            \"numOptional\": 0,\n            \"numRequired\": 0,\n            \"footer\": {\n                \"text\": \"Added by \",\n                \"entries\": [\n                    {\n                        \"name\": \"Suitable Ready\",\n                        \"photoUrl\": \"https://www.filepicker.io/api/file/gTnm9OOTeyslgTEdPxxr\"\n                    }\n                ]\n            }\n        }\n    ]\n}"}],"_postman_id":"790f99ab-e370-4774-9a2e-38867fe8177c"},{"name":"Get Achievements Stream (Legacy)","event":[{"listen":"test","script":{"id":"cb875e93-706b-40c9-af75-6a7c505e7b49","exec":["var jsonData = pm.response.json();","if (jsonData.meta.nextUrl !== null)","    pm.environment.set(\"NEXT_URL\", jsonData.meta.nextUrl);"],"type":"text/javascript"}}],"id":"491927f4-0994-4788-ba59-06942345e6ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/achievements","description":"<p>Returns a stream of achievements in the specified pathway/dashboard.</p>\n<p>For information on draining a particular stream see the <strong>Get Next Stream Url</strong> helper request that simulates draining a stream by following the series of urls provided in responses. This <strong>Postman</strong> request automatically initializes the <code>NEXT_URL</code> environment variable for the <strong>Get Next Stream Url</strong> request.</p>\n<h4 id=\"parameter---field-glossary\">Parameter - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>cursor</code></td>\n<td>A cursor string that indexes the current stream location</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response---field-glossary\">Response - Field Glossary</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>meta.nextUrl</code></td>\n<td>A url to retrieve additional records in this activity stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>meta.nextCursor</code></td>\n<td>A cursor string to retrieve additional records in this stream, can be <code>null</code> if none are available</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td>Achievement identifier</td>\n</tr>\n<tr>\n<td><code>title</code></td>\n<td>Title of the achievement</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Description of the achievement (markdown compatible)</td>\n</tr>\n<tr>\n<td><code>iconUrl</code></td>\n<td>Url of the achievement's image</td>\n</tr>\n<tr>\n<td><code>pathwayId</code></td>\n<td>ID of the pathway/dashboard that manages this achievement</td>\n</tr>\n<tr>\n<td><code>specialType</code></td>\n<td>The specific type of achievement, can be either <code>FEATURED</code> or <code>MILESTONE</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"meta\": {\n        \"nextCursor\": \"string\",\n        \"nextUrl\": \"string\"\n    },\n    \"data\": [\n        {\n            \"id\": \"string\",\n            \"title\": \"string\",\n            \"description\": \"string\",\n            \"iconUrl\": \"string\",\n            \"pathwayId\": \"string\",\n            \"specialType\": \"string\"\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","achievements"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"491927f4-0994-4788-ba59-06942345e6ac"},{"name":"Get Achievement Report (Legacy)","id":"0f27ff1a-4eec-44d7-90d5-2e52c86e0f1d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/achievements/{{ACHIEVEMENT_ID}}/export.json?page=1","description":"<p>Pull a progress report for the specified achievement. The report contains each student's progress that is currently eligible to achieve or has achieved the achievement.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?page=1\n</code></pre><p>The <code>page</code> parameter is used to specify the index of the page/batch of records requested. The response contains the number of pages that can be requested.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"achievementReport\": {\n        \"totalPages\": \"integer\",\n        \"achievements\": [\n            {\n                \"id\": \"string\",\n                \"title\": \"string\",\n                \"username\": \"string\",\n                \"firstName\": \"string\",\n                \"lastName\": \"string\",\n                \"campusEmail\": \"string\",\n                \"preferredEmail\": \"string\",\n                \"uniqueId\": \"string\",\n                \"progress\": \"double\",\n                \"dateAchieved\": \"string\",\n                \"activities\": \"integer\",\n                \"completedActivities\": \"integer\",\n                \"incompleteActivities\": \"integer\",\n                \"progresses\": [\n                    {\n                        \"activityId\": \"string\",\n                        \"title\": \"string\",\n                        \"progress\": \"double\"\n                    }\n                ]\n            }\n        ]\n    }\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","achievements","{{ACHIEVEMENT_ID}}","export.json"],"host":["{{API_ENV}}","suitable","co"],"query":[{"key":"page","value":"1"}],"variable":[]}},"response":[],"_postman_id":"0f27ff1a-4eec-44d7-90d5-2e52c86e0f1d"},{"name":"Get Roster Stream (Legacy)","id":"67bd99b0-7042-47c0-b816-41fc79e9f4f5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/schools/{{INSTITUTION_ID}}/roster/stream?cursor=&query=&status&type","description":"<p>Request to retrieve the roster of the provided pathway.  </p>\n<p>Request returns 100 users, in alphabetical order, from the provided pathway as well as the cursor for navigating the stream.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?cursor=&lt;String&gt;\n</code></pre><p>To retrieve the next 100 users the cursor param should be set to the cursor returned in the previous request.  Initial value should be omitted.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?query=&lt;String&gt;\n</code></pre><p>Pass any string in here to query users by name, status or username.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?status=&lt;String&gt;\n</code></pre><p>Status can be <code>ACTIVE</code> or <code>INACTIVE</code>.  Returns users with the requested status.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?type=&lt;String&gt;\n</code></pre><p>Type can be <code>STUDENT</code> or <code>ADVISOR</code>.  Returns users of the requested type.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"meta\": {\n        \"nextCursor\": \"string\"\n    },\n    \"data\": [\n        {\n            \"id\": \"string\",\n            \"userId\": \"string\",\n            \"username\": \"string\",\n            \"firstName\": \"string\",\n            \"lastName\": \"string\",\n            \"contactEmail\": \"string\",\n            \"uniqueId\": \"string\",\n            \"photoUrl\":  \"string\",\n            \"lastActive\": \"string\",\n            \"type\": \"string\",\n            \"statusType\": \"string\"\n        },\n        ...\n    ]\n}\n</code></pre>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","schools","{{INSTITUTION_ID}}","roster","stream"],"host":["{{API_ENV}}","suitable","co"],"query":[{"key":"cursor","value":""},{"key":"query","value":""},{"key":"status","value":""},{"key":"type","value":""}],"variable":[]}},"response":[{"id":"57fb51ed-dac4-4eca-9951-944db7392408","name":"200 - OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://{{API_URL}}/v1/schools/{{INSTITUTION_ID}}/roster/stream?cursor=UVdKa2FRPT06V21Gc2JXRmhiZz09Ok1qWXlOalU1&query=\"John\"&status=ACTIVE&type=STUDENT","protocol":"https","host":["{{API_URL}}"],"path":["v1","schools","{{INSTITUTION_ID}}","roster","stream"],"query":[{"key":"cursor","value":"UVdKa2FRPT06V21Gc2JXRmhiZz09Ok1qWXlOalU1"},{"key":"query","value":"\"John\""},{"key":"status","value":"ACTIVE"},{"key":"type","value":"STUDENT"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 16 Apr 2020 15:18:50 GMT","enabled":true},{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"X-Amzn-Trace-Id","value":"Root=1-5e98775a-336fa34db43233216d3a8fdf;","enabled":true},{"key":"X-Application-Context","value":"application:staging","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"CF-Cache-Status","value":"DYNAMIC","enabled":true},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","enabled":true},{"key":"Server","value":"cloudflare","enabled":true},{"key":"CF-RAY","value":"584ee19649e0e730-EWR","enabled":true},{"key":"Content-Encoding","value":"br","enabled":true},{"key":"cf-request-id","value":"02252b51ec0000e730771b9200000001","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"meta\": {\n        \"nextCursor\": \"UVdKa2FLk2jF21Gc2JXRmhiTr9Q2pOk1qWXlb3AcoP\"\n    },\n    \"data\": [\n        {\n            \"id\": \"237\",\n            \"userId\": \"327\",\n            \"username\": \"john.doe@suitable.edu\",\n            \"firstName\": \"John\",\n            \"lastName\": \"Doe\",\n            \"contactEmail\": \"john.doe@gmail.com\",\n            \"uniqueId\": \"723\",\n            \"photoUrl\": \"https://www.filepicker.io/api/file/ovF8zC8SFKV1CqnytSon\",\n            \"lastActive\": 1569056441447,\n            \"type\": \"ROLE_STUDENT\",\n            \"statusType\": \"Freshman\"\n        }\n    ]\n}"}],"_postman_id":"67bd99b0-7042-47c0-b816-41fc79e9f4f5"},{"name":"Update Student Roster Info (Legacy)","id":"24b86478-464c-4fd9-a739-bb4464299ceb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","value":null}]},"url":"https://{{API_ENV}}.suitable.co/v1/schools/{{INSTITUTION_ID}}/roster","description":"<p>Request returns the time of job creation. Upon success/failure processing, the requesting user is emailed the result.</p>\n<blockquote>\n<p>Note: When utilizing this request via the test environment, status emails are not sent. Please coordinate with your support engineer POC to retrieve status information.</p>\n</blockquote>\n<h4 id=\"request-body\">Request Body</h4>\n<p>A <code>multipart/form-data</code> encoded body with the CSV file. The input parameter MUST be named <code>file</code>.</p>\n<h4 id=\"additional-info\">Additional Info</h4>\n<p>Before sending roster files a CSV configuration must be set on your institution's behalf. You will need to send an example CSV file to a Suitable engineer for this route to be set up. The minimum set of information that is required in this CSV is the following:</p>\n<ul>\n<li>Non-Aliased School Email (Directly correlates to a user's <a href=\"https://www.educause.edu/fidm/attributes#eppn\"><strong>EduPrincipalPersonName</strong></a>)</li>\n<li>First Name</li>\n<li>Last Name</li>\n<li>Class Standing (Acceptable values below)</li>\n</ul>\n<p>When constructing the CSV please ensure columns are surrounded with double quotes and delimited by commas. Lastly, a header row is required before any data rows. An example layout can be viewed below:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Username</th>\n<th>First Name</th>\n<th>Last Name</th>\n<th>Class Standing</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"mailto:jane.apple@institution.edu\">jane.apple@institution.edu</a></td>\n<td>Jane</td>\n<td>Appleseed</td>\n<td>Sophomore</td>\n</tr>\n<tr>\n<td><a href=\"mailto:john.apple@institution.edu\">john.apple@institution.edu</a></td>\n<td>John</td>\n<td>Appleseed</td>\n<td>Freshman</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"multi-valued-columns\">Multi-Valued Columns</h4>\n<p>Custom data columns that are multi-valued need to be delimited by a semicolon <code>;</code>. For example, if a majors column exists and a student has both Psychology and Marketing majors this would be represented as <code>Psychology; Marketing</code> in the column.</p>\n<h4 id=\"mappings\">Mappings</h4>\n<p>The following are lists of standard fields and formats, that can be added to a roster file without requiring a custom data column.</p>\n<ul>\n<li>Class Standing (Acceptable values below)<ul>\n<li>Freshman</li>\n<li>Sophomore</li>\n<li>Junior</li>\n<li>Senior</li>\n<li>Graduate</li>\n<li>Alumni</li>\n</ul>\n</li>\n<li>Expected Graduation Date (Acceptable formats below)<ul>\n<li>YYYY-MM-DD</li>\n<li>MM/DD/YYYY</li>\n</ul>\n</li>\n<li>Gender<ul>\n<li>UNDISCLOSED</li>\n<li>NONBINARY</li>\n<li>FEMALE</li>\n<li>MALE</li>\n</ul>\n</li>\n<li>International Student<ul>\n<li>TRUE</li>\n<li>FALSE</li>\n</ul>\n</li>\n<li>Career Level<ul>\n<li>UNDERGRADUATE</li>\n<li>GRADUATE</li>\n<li>ALUMNI</li>\n</ul>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v1","schools","{{INSTITUTION_ID}}","roster"],"host":["{{API_ENV}}","suitable","co"],"query":[],"variable":[]}},"response":[],"_postman_id":"24b86478-464c-4fd9-a739-bb4464299ceb"},{"name":"List Completions (Deprecated)","id":"d1a3fe04-5602-434a-8181-50874541576c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/completionReport.json?page=1","description":"<p>List Completions for a specific Activity within a specified pathway.</p>\n<h4 id=\"request-parameters\">Request Parameters</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?page=&lt;integer&gt;\n</code></pre><p>The <code>page</code> parameter is used to specify the index of the page/batch of completions requested. The response contains the number of pages that can be requested.</p>\n<h4 id=\"response-model\">Response Model</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"meta\": {\n        \"totalPages\": \"integer\"\n    },\n    \"totalCompletions\": \"integer\",\n    \"activity\": {\n        \"id\": \"string\",\n        \"title\": \"string\",\n        \"description\": \"string\",\n        \"type\": \"string\",\n        \"dueDate\": \"string\",\n        \"dateCreated\": \"string\",\n        \"time\": \"string\",\n        \"location\": \"string\"\n    },\n    \"completions\": [\n        {\n            \"user\": {\n                \"id\": \"string\",\n                \"firstName\": \"string\",\n                \"lastName\": \"string\",\n                \"username\": \"string\",\n                \"uniqueId\": \"string\"\n            },\n            \"dateCreated\": \"string\",\n            \"dateCompleted\": \"string\",\n            \"reflection\": \"string\",\n            \"progress\": \"double\"\n        }\n    ]\n}\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}","completionReport.json"],"host":["{{API_ENV}}","suitable","co"],"query":[{"description":{"content":"<p>Optional page index for requested completion data. Defaults to 1 if excluded.</p>\n","type":"text/plain"},"key":"page","value":"1"}],"variable":[]}},"response":[{"id":"27f4e83e-29e1-4b93-bbba-3434bb35b935","name":"200 - OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://{{API_ENV}}.suitable.co/v1/catalogs/{{CATALOG_ID}}/activities/{{ACTIVITY_ID}}/completionReport.json?page=1","protocol":"https","host":["{{API_ENV}}","suitable","co"],"path":["v1","catalogs","{{CATALOG_ID}}","activities","{{ACTIVITY_ID}}","completionReport.json"],"query":[{"key":"page","value":"1","description":"Optional page index for requested completion data. Defaults to 1 if excluded."}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8","enabled":true},{"key":"Transfer-Encoding","value":"chunked","enabled":true},{"key":"Connection","value":"keep-alive","enabled":true},{"key":"Access-Control-Allow-Origin","value":"*","enabled":true},{"key":"Access-Control-Allow-Credentials","value":"true","enabled":true},{"key":"Cache-Control","value":"no-cache, no-store, must-revalidate","enabled":true},{"key":"Content-Language","value":"en-US","enabled":true},{"key":"Vary","value":"Accept-Encoding","enabled":true},{"key":"Content-Encoding","value":"gzip","enabled":true}],"cookie":[],"responseTime":null,"body":"{\n    \"meta\": {\n        \"totalPages\": 1\n    },\n    \"totalCompletions\": 2,\n    \"activity\": {\n        \"id\": \"1\",\n\t\t\"title\": \"Community Service\",\n\t\t\"description\": \"New Life Dresher organized community service participant.\",\n        \"type\": \"TASK\",\n        \"startDate\": null,\n        \"endDate\": null,\n        \"timeZone\": null,\n        \"dateCreated\": \"2016-08-27T17:34:43Z\",\n        \"location\": null\n    },\n\t\"completions\": [\n        {\n            \"user\": {\n                \"id\": \"1\",\n                \"firstName\": \"Jane\",\n                \"lastName\": \"Appleseed\",\n                \"username\": \"jaapple@suitable.edu\",\n                \"uniqueId\": \"237\"\n            },\n            \"dateCreated\": \"2016-08-27T17:34:43Z\",\n            \"dateCompleted\": \"2016-08-27T17:34:43Z\",\n            \"reflection\": \"I engaged with a number of folks in my community.\",\n            \"progress\": 1.0\n        },\n        {\n            \"user\": {\n                \"id\": \"2\",\n                \"firstName\": \"Johnny\",\n                \"lastName\": \"Appleseed\",\n                \"username\": \"joapple@suitable.edu\",\n                \"uniqueId\": \"327\"\n            },\n            \"dateCreated\": \"2018-06-11T19:05:46Z\",\n            \"dateCompleted\": \"2018-07-24T12:54:41Z\",\n            \"reflection\": \"I engaged with a number of folks in my community.\",\n            \"progress\": 1.0\n        }\n\t]\n}"}],"_postman_id":"d1a3fe04-5602-434a-8181-50874541576c"}],"id":"7fc3365c-f556-4ba9-8fe4-dfd38da24149","description":"<p>The following are <strong>DEPRECATED</strong> APIs that are losing support. It is advised against using these APIs for new projects. Existing projects should plan to migrate to their contemporary counterparts. Consult your technical POC for guidance.</p>\n","_postman_id":"7fc3365c-f556-4ba9-8fe4-dfd38da24149","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]},"isInherited":true,"source":{"_postman_id":"dc4a8439-06a6-4960-b2c7-138a33712480","id":"dc4a8439-06a6-4960-b2c7-138a33712480","name":"Suitable API","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{API_TOKEN}}"}]}},"event":[{"listen":"prerequest","script":{"id":"7e09c651-c6bb-4007-8cf1-2a6c0682015b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"c359d6cd-df63-46b1-a454-63e442efc628","type":"text/javascript","exec":[""]}}]}