# 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. # 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 1 hour time limit. ## Ready? Let's get started. First, exchange your starting token for an access token by sending a `POST` to `https://candidate.commonroom.builders/auth/token`. The response includes your `access_token`. ### Example: curl ```bash $ curl -X POST -d "grant_type=refresh_token&refresh_token=$STARTING_TOKEN" \ https://candidate.commonroom.builders/auth/token ``` ### Example: JavaScript ```javascript fetch('https://candidate.commonroom.builders/auth/token', { method: 'POST', body: new URLSearchParams({ grant_type: 'refresh_token', refresh_token: process.env.STARTING_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": STARTING_TOKEN } ) pprint(response.json()) ``` Then fetch the instructions for your assessment using your access token: ```bash $ curl -H "Authorization: Bearer $ACCESS_TOKEN" https://candidate.commonroom.builders/instructions ```