# Hi there! Here's a short explanation of what we're looking to examine with this assessment, what you can expect when you take it, and how you can get started. This is the API for pairing and coding assessments in our Interview Process. If you've not been given a starting token to use you should reach out to us at: [careers@commonroom.io](mailto:careers@commonroom.io) Once you get the starting token you'll have 7 days to complete the assessment before needing to ask us for a new starting token. As long as you don't start the assessment we'll happily give you a new one. # What do I need? Everything will be done on your own computer. There's no specific coding environment or restrictions on how you work. You'll need a stable Internet connection, a location that helps you focus, and uninterrupted time for the assessment. You can use your preferred coding language, IDE, libraries or anything else that you would use while coding normally. It's not OK to copy code verbatim or to consult a friend. The documentation of this API can be found at [https://candidate.commonroom.builders/api-docs/](https://candidate.commonroom.builders/api-docs/index.html). ## What do I need to know to perform well? * The basics of HTTP requests - performing HTTP requests and understanding headers, status codes, and payloads. * The JSON data format and how to parse from it or serialize into it. * Common data structures and when and how to use them - arrays, maps, sets. # After the Assessment After you've completed the assessment we'll get back to you within a week on the next steps in the interview process. Please do not publish the source code you used for the assessment to any public repository, and please keep the contents of the assessment to yourself. # How do I Start? We'll give you a unique starting token which is used to begin the assessment. Don't worry - figuring that out isn't part of the assessment. It's detailed below. However, once you do start the assessment there is a 3 hour time limit. After the time limit is up your tokens will all expire and will no longer be usable. ## Ready? Let's get started. For detailed instructions on the next steps you'll need to fetch them from this API by including your token with your request. ### Example: curl ```bash $ curl -H "Authorization: Bearer $REFRESH_TOKEN" \ https://candidate.commonroom.builders/instructions ``` ### Example: JavaScript ```javascript fetch( 'https://candidate.commonroom.builders/instructions', { headers: { "Authorization": `Bearer ${process.env.REFRESH_TOKEN}` } } ) .then((response) => response.json()) .then(console.log); ``` ### Example: Python ```python import requests from pprint import pprint response = requests.post( "https://candidate.commonroom.builders/auth/token", data={ "grant_type": "refresh_token", "refresh_token": REFRESH_TOKEN } ) pprint(response.json()) ```