{"swagger":"2.0","info":{"version":"v3","title":"HackerRank for Work","description":"Documentation for the API of HackerRank for Work.","termsOfService":"https://www.hackerrank.com/work/tos","contact":{"name":"HackerRank for Work API Team","url":"https://www.hackerrank.com/contactus","email":"support@hackerrank.com"},"license":{"name":"MIT"}},"securityDefinitions":{"api_key":{"type":"apiKey","name":"access_token","in":"query"}},"host":"www.hackerrank.com","basePath":"","consumes":["application/json"],"produces":["application/json","application/xml"],"schemes":["https"],"paths":{"/intro_api":{"options":{"summary":"API","description":"The HackerRank for Work API is organized around \u003ca href='http://en.wikipedia.org/wiki/Representational_State_Transfer'\u003eREST\u003c/a\u003e. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features, like HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. We support \u003ca href='http://en.wikipedia.org/wiki/Cross-origin_resource_sharing'\u003ecross-origin resource sharing\u003c/a\u003e, allowing you to interact securely with our API from a client-side web application (though you should never expose your secret API key in any public website's client-side code). \u003ca href='http://www.json.org/'\u003eJSON\u003c/a\u003e is returned by all API responses, including errors.","tags":["Introduction"]}},"/intro_requests":{"options":{"summary":"Resources","description":"\u003cp\u003eAny tool that is fluent in HTTP can communicate with the API simply by requesting the correct URI.  Requests should be made using the HTTPS protocol so that traffic is encrypted.  The interface responds to different methods depending on the action required.\u003c/p\u003e\n\u003ctable class=\"pure-table pure-table-horizontal\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eMethod\u003c/th\u003e\n\u003cth\u003eUsage\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eGET\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003eFor simple retrieval of information about a resource (user, team, etc) you should use the \u003cstrong\u003eGET\u003c/strong\u003e method.  The information you request will be returned to you as a JSON object.\u003c/p\u003e\n\n\u003cp\u003eThe attributes defined by the JSON object can be used to form additional requests.  Any request using the GET method is read-only and will not affect any of the objects you are querying.\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDELETE\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003eTo destroy a resource and remove it from your account and environment, the \u003cstrong\u003eDELETE\u003c/strong\u003e method should be used.  This will remove the specified object if it is found.  If it is not found, the operation will return a response indicating that the object was not found.\u003c/p\u003e\n\n\u003cp\u003eThis \u003ca href=\"http://en.wikipedia.org/wiki/Idempotent#Computer_science_meaning\"\u003eidempotency\u003c/a\u003e means that you do not have to check for a resource's availability prior to issuing a delete command, the final state will be the same regardless of its existence.\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePUT\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003eTo update the information about a resource in your account, the \u003cstrong\u003ePUT\u003c/strong\u003e method is available.\u003c/p\u003e\n\n\u003cp\u003eLike the DELETE Method, the PUT method is idempotent.  It sets the state of the target using the provided values, regardless of their current values.  Requests using the PUT method do not need to check the current attributes of the object.\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePOST\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003eTo create a new object, your request should specify the \u003cstrong\u003ePOST\u003c/strong\u003e method.\u003c/p\u003e\n\n\u003cp\u003eThe POST request must include all of the attributes necessary to create a new object.  When you wish to create a new object, send a POST request to the resource endpoint.\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOPTIONS\u003c/td\u003e\n\u003ctd\u003e\n\u003cp\u003eFinally, to retrieve header information, you should use the \u003cstrong\u003eOPTIONS\u003c/strong\u003e method to get the headers.  This returns only the header of what would be returned with an associated GET request.\u003c/p\u003e\n\n\u003cp\u003eResponse headers contain some useful information about your API access and the results that are available for your request.\u003c/p\u003e\n\n\u003cp\u003eFor instance, the headers contain your current rate-limit value and the amount of time available until the limit resets.  It also contains metrics about the total number of objects found, pagination information, and the total content length.\u003c/p\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n \u003cp\u003e ** In any of the resources, non mandatory new fields can be added without any prior intimation. Please make sure that your implementation which uses this API do not fails in such a case. ** ","tags":["Introduction"]}},"/intro_http_statuses":{"options":{"summary":"HTTP Statuses","description":"\u003cp\u003eAlong with the HTTP methods that the API responds to, it will also return standard HTTP statuses, including error codes. \u003c/p\u003e\u003cp\u003eIn the event of a problem, the status will contain the error code, while the body of the response will usually contain additional information about the problem that was encountered.\u003c/p\u003e\n\n\u003ctable class='pure-table pure-table-horizontal'\u003e\u003cthead\u003e\u003ctr\u003e\u003cth\u003eCode Range\u003c/th\u003e\u003cth\u003eDescription\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctr\u003e\u003ctd\u003e2xx\u003c/td\u003e\u003ctd\u003eThis range of response code indicates that request was fulfilled successfully and no error was encountered.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e400\u003c/td\u003e\u003ctd\u003eThis return code indicates that there was an error in fulfilling the request because the syntax of URL was incorrect. The detail of the error will present in the body of response. Please do not repeat this request without modification\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e401\u003c/td\u003e\u003ctd\u003eThis return code means that we are not able to authenticate your request. Please make sure that a correct access token is provided in the request in the appropriate format. \u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e403\u003c/td\u003e\u003ctd\u003eThis error code indicates that the user identified by the access token does not have permission to perform the requested action. If your account is locked, response code will always be 403. \u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e404\u003c/td\u003e\u003ctd\u003eThis response indicates that the resource you are trying to access does not exists. \n \n Please note that this error will also be returned when the resource exists but belongs to a different account than is indicated by the access code.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e422\u003c/td\u003e\u003ctd\u003eThis error code indicate that while the syntax was correct, request cannot be fulfilled because there was an issue in processing request body. An example of this could be getting inviting a candidate to a test for which they are already invited. More details about the error code can be found in the response body.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e429\u003c/td\u003e\u003ctd\u003eThis response code indicates that you have exceeded rate limit for using the API.\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e5xx\u003c/td\u003e\u003ctd\u003eThis response code indicates that there was an internal server error while processing the request. We are automatically notified of these errors, however if you are seeing these for extended amount of time, then please report to \u003ca href='mailto:support@hackerrank.com'\u003esupport@hackerrank.com\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\n\n","tags":["Introduction"]}},"/intro_authentication":{"options":{"summary":"Authentication","description":"Authenticate API requests by including your secret API key with each request. You can create and manage API keys from the \u003ca href=\"https://hackerrank.com/work/settings/token\"\u003eSettings\u003c/a\u003e page. Your API keys grant access to privileged actions, so keep them secure.\n\n\u003cb\u003eDo not share secret API keys in publicly accessible locations, including GitHub, client-side code, browser-based applications, mobile apps, logs, or public documentation.\u003c/b\u003e\n\nThe API uses \u003ca href=\"http://en.wikipedia.org/wiki/Basic_access_authentication\"\u003eHTTP Basic Authentication\u003c/a\u003e. Provide your API key as the basic auth username. A password is not required \u003ccode class=\" language-undefined\"\u003e-u hackerrank_api_key:\u003c/code\u003e\n\nYou may also authenticate using bearer authentication by passing your API key in the Authorization header \u003ccode class=\" language-undefined\"\u003e-H \"Authorization: Bearer hackerrank_api_key\"\u003c/code\u003e\n\nAll API requests must be made over \u003ca href=\"http://en.wikipedia.org/wiki/HTTP_Secure\"\u003eHTTPS\u003c/a\u003e. Requests sent over plain HTTP will fail. Requests without valid authentication will also fail.","tags":["Introduction"]}},"/x/api/v3/{resource_name}/{resource_id}?fields={fields}":{"options":{"summary":"Partial Response","description":"By default, the server sends back the default representation of a resource after processing requests. For better performance and saving bandwidth, you can ask the server to send only the fields you really need and get a partial response instead.\n\nTo request a partial response, use the \u003ccode\u003efields\u003c/code\u003e request parameter to specify the fields you want returned. You can use this parameter with any request that returns response data.\n\nFor example, \u003ccode\u003e/users?fields=id,email\u003c/code\u003e will fetch only the id and email of users.\n\n","tags":["Introduction"]}},"/x/api/v3/{resource_name}/{resource_id}?fields={additional_fields}":{"options":{"summary":"Additional Response","description":"\u003cp\u003eMany resources also have various additional attributes that will not be the part of the basic response. To query them you have to specify those attributes in fields query. \u003c/p\u003e\u003cp\u003eYou can provide a comma separated list of the all the fields you want to query, including the basic fields as well as the additional fields\u003c/p\u003e\u003cp\u003eAll the additional fields that are available for the resources will be documented in the resource page.\u003c/p\u003e","tags":["Introduction"]}},"/x/api/v3/{resource_name}/{resource_id}?expand={expand}":{"options":{"summary":"Expanding Objects","description":"\u003cp\u003e\n        Many objects contain the ID of a related object in their response properties. For example, a \u003ccode class=\" language-undefined\"\u003eTest\u003c/code\u003e may have an associated \u003ccode class=\" language-undefined\"\u003eUser\u003c/code\u003e ID. Those objects can be expanded inline with the \u003ccode class=\" language-undefined\"\u003eexpand\u003c/code\u003e request parameter. Objects that can be expanded will be tagged as ** [Expandable] ** in this documentation. This parameter is available on all API requests, and applies to the response of that request only.\n      \u003c/p\u003e\n      \u003cp\u003e       You can expand multiple objects at once by identifying multiple items in the \u003ccode class=\" language-undefined\"\u003eexpand\u003c/code\u003e array.\n      \u003c/p\u003e\n\n All the attributes that can be expanded will be tagged as \u003ccode\u003eexpandable\u003c/code\u003e\n\u003cp\u003eNesting object expanding is not allowed.\u003c/p\u003e","tags":["Introduction"]}},"/x/api/v3/resource_name":{"options":{"summary":"Bulk Fetch","description":"\u003cp\u003e\n  Most API resources have support for bulk fetches.\n        \u003cp\u003e ** All bulk fetch calls also support Partial response, additional response and expanding objects. **","tags":["Introduction"]}},"/x/api/v3/{resource_name}?offset={offset}\u0026limit={limit}":{"options":{"summary":"Pagination","description":"All bulk fetch responses are paginated. Paginated requests share a common structure, taking at least these two parameters: \u003ccode class=\" language-undefined\"\u003eoffset\u003c/code\u003e and \u003ccode class=\" language-undefined\"\u003elimit\u003c/code\u003e.\n        The default value for offset is 0 and default value for limit is 10.\u003c/p\u003e\n  \u003cp\u003e The pagination info is included in the response body. It is important to follow link values that are returned instead of constructing your own URLs.\u003c/p\u003e \n \n \u003cp\u003e** If not provided, then the value of `limit` will be assumed as `10` ** \u003c/p\u003e\n \n \u003cp\u003e ** Please note than maximum value of `limit` can be `100` ** \u003c/p\u003e","tags":["Introduction"]}},"/x/api/v3/{resource_name}?offset={offset}\u0026limit={limit}\u0026sort={sort}":{"options":{"summary":"Sorting","description":"\u003cp\u003eIn bulk fetch calls, sorting is also supported for some attributes in the resource. To query sorted items, you can provide comma separated list of fields by which you the want result to be sorted. \u003c/p\u003e\u003cp\u003eBy default the order of sorting is `DESC`. However if you want to sort in ascending order for a particular field, you can prepend a `-` sign in that field.\u003c/p\u003e\u003cp\u003e** Please note that not all attributes support sorting, the attributes that will support sorting will be marked as such in the documentation **\u003c/p\u003e","tags":["Introduction"]}},"/x/api/v3/{resource_name}?offset={offset}\u0026limit={limit}\u0026{filter1}={filter1_value}\u0026{filter2}={filter2_value}":{"options":{"summary":"Filtering","description":"\u003cp\u003eSimilar to sorting, bulk fetch calls also support filtering. To implement a filter in a request, just provide the attribute name and its value you want to filter as a query parameter\u003c/p\u003e\u003cp\u003e**Not all attributes support filter, attributes supporting filter will be marked as such.**\u003c/p\u003e\u003cp\u003eFilters are applied differently depending upon the data type:\u003c/p\u003e\u003ctable class='pure-table pure-table-horizontal'\u003e\u003cthead\u003e\u003ctr\u003e\u003ctd\u003eDatatype\u003c/td\u003e\u003ctd\u003eDescription\u003c/td\u003e\u003ctd\u003eExample\u003c/td\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctr\u003e\u003ctd\u003eDateTime\u003c/td\u003e\u003ctd\u003eFilters on datetime are applied in form of `from..to`. Both `from` and `to` are in form of `YYYY-MM-DDThh:mm:ssÂ±zzz` where `zzz` is offset form UTC timezone in form of `hh:mm` including a leading zero for single digit hour value. All time values are 24 hour format\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eGET: /resource?created_at=2016-12-24T09:00:00-08:00..2016-12-28T13:30:00-08:00\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eString\u003c/td\u003e\u003ctd\u003eAttributes with string datatype only support exact match filter. Partial match and regex/wildcard match is not supported. \u003c/td\u003e\u003ctd\u003e\u003ccode\u003eGET /resource?email=abc@example.com\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eInteger\u003c/td\u003e\u003ctd\u003eInteger datatype support both exact match filter and `from..to` notation\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eGET /resource?state=1..7\u003c/code\u003e\u003cbr\u003e\u003ccode\u003eGET /resource?state=5\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eBoolean\u003c/td\u003e\u003ctd\u003eBoolean datatype filters support exact match which can be `true`, `false` or `null`\u003c/td\u003e\u003ctd\u003e\u003ccode\u003eGET /resource?valid=true\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e","tags":["Introduction"]}},"/users":{"options":{"summary":"User object","description":"User object represents the members of your team who have a valid HackerRank for Work account. The API allows you to create, delete and update your users. You can retrieve individual users as well as a list of all the users in your company. \u003cp\u003ePermission can be applied on \u003ccode\u003ecandidates\u003c/code\u003e, \u003ccode\u003einterviews\u003c/code\u003e, \u003ccode\u003equestions\u003c/code\u003e and \u003ccode\u003etests\u003c/code\u003e separately. \u003c/p\u003e\u003cp\u003eValue for the permission will mean following: \u003c/p\u003e\u003ctable class=\"pure-table pure-table-horizontal\"\u003e\u003cthead\u003e\u003ctr\u003e\u003ctd\u003ePermission Value\u003c/td\u003e\u003ctd\u003eAccess level\u003c/td\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctr\u003e\u003ctd\u003e0\u003c/td\u003e\u003ctd\u003eUser cannot access the resource\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e1\u003c/td\u003e\u003ctd\u003eUser has read access for this resources\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e2\u003c/td\u003e\u003ctd\u003eUser has read and write access for this resource\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e3\u003c/td\u003e\u003ctd\u003eUser has read, write and delete access for this resource\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e\u003cp\u003eDefault permissions for each role are: \u003c/p\u003e\u003ctable class=\"pure-table pure-table-horizontal\"\u003e\u003cthead\u003e\u003ctr\u003e\u003ctd\u003eRole\u003c/td\u003e\u003ctd\u003ePermissions\u003c/td\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctr\u003e\u003ctd\u003eRecruiter\u003c/td\u003e\u003ctd\u003eLevel 3 permission for all resources\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eDeveloper\u003c/td\u003e\u003ctd\u003eLevel 3 permission for all resources\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eInterviewer\u003c/td\u003e\u003ctd\u003eLevel 3 permission for questions and  interviews. 0 for rest\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e","tags":["Users"],"responses":{"description":{"schema":{"$ref":"#/definitions/UserRef"}}}}},"/x/api/v3/users":{"post":{"summary":"Create user","description":"Create a new user object.","tags":["Users"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/UserCreate"}}],"responses":{"200":{"description":"user response","schema":{"$ref":"#/definitions/UserShow"}}}}},"/x/api/v3/users?limit={limit}\u0026offset={offset}":{"get":{"summary":"List all users","description":"Returns the list of your users.","tags":["Users"],"parameters":[{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested users","items":{"$ref":"#/definitions/UserIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total users in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/users/{id}":{"get":{"summary":"Retrieve user","description":"Retrieves the details of an existing user. You need only supply the unique customer identifier that was returned upon user creation.","tags":["Users"],"parameters":[{"name":"id","in":"path","type":"string","description":"ID of user to retrieve","schema":{"$ref":"#/definitions/UserShow"}}],"responses":{"200":{"description":"user response","schema":{"$ref":"#/definitions/UserShow"}}}},"put":{"summary":"Update user","description":"Updates the specified user by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts mostly the same arguments as the user creation call.","tags":["Users"],"parameters":[{"name":"id","in":"path","type":"string","description":"ID of user to update"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/UserUpdate"}}]},"delete":{"summary":"Lock user","description":"Lock a user. This will also remove user from all the team that they are currently part of.","tags":["Users"],"parameters":[{"name":"id","in":"path","type":"string","description":"ID of user to lock"}],"responses":{"204":{"description":"User locked"}}}},"/x/api/v3/users/search?search={search_string}\u0026limit={limit}\u0026offset={offset}":{"get":{"summary":"Search users","description":"","tags":["Users"],"parameters":[{"name":"search_string","in":"path","description":"Name or email","required":true},{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested users","items":{"$ref":"#/definitions/UserIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total users in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/teams":{"options":{"summary":"Team object","description":"You can manage teams in your company account using this API. Use teams to group users based on access control and permission groups.","tags":["Teams"],"responses":{"description":{"schema":{"$ref":"#/definitions/TeamRef"}}}}},"/x/api/v3/teams":{"post":{"summary":"Create team","description":"","tags":["Teams"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/TeamCreate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/TeamShow"}}}}},"/x/api/v3/teams?limit={limit}\u0026offset={offset}":{"get":{"summary":"List all teams","description":"","tags":["Teams"],"parameters":[{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested teams","items":{"$ref":"#/definitions/TeamIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total teams in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/teams?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/teams?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/teams?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/teams/{id}":{"get":{"summary":"Retrieve team","description":"","tags":["Teams"],"parameters":[{"name":"id","in":"path","description":"ID of the team to retrieve"}],"responses":{"200":{"schema":{"description":"Team response","$ref":"#/definitions/TeamShow"}}}},"put":{"summary":"Update team","description":"","tags":["Teams"],"parameters":[{"name":"id","in":"path","description":"ID of the team to update"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/TeamUpdate"}}]},"delete":{"summary":"Deletes team","description":"Deletes an empty team","tags":["Teams"],"parameters":[{"name":"id","in":"path","description":"ID of the team to delete"}]}},"/x/api/v3/teams/{team_id}/users?limit={limit}\u0026offset={offset}":{"get":{"summary":"List all memberships","description":"","tags":["UserMembership"],"parameters":[{"name":"team_id","in":"path","description":"ID of the team to retrieve"},{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested users","items":{"$ref":"#/definitions/UserTeamMembershipIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total users in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/teams/1/users?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/teams/1/users?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/teams/1/users?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/teams/{team_id}/users/{user_id}?license={license}":{"post":{"summary":"Create membership","description":"","tags":["UserMembership"],"parameters":[{"name":"team_id","in":"path","description":"ID of the team"},{"name":"user_id","in":"path","description":"ID of the user"},{"name":"license","in":"path","description":"License with which locked user gets unlocked. Pass this only if the user is locked. License can be recruiter, developer or interviewer"}]}},"/x/api/v3/teams/{team_id}/users/{user_id}":{"get":{"summary":"Retrieve membership","description":"","tags":["UserMembership"],"parameters":[{"name":"team_id","in":"path","description":"ID of the team"},{"name":"user_id","in":"path","description":"ID of the user"}],"responses":{"200":{"schema":{"description":"User membership response","$ref":"#/definitions/UserTeamMembershipShow"}}}},"delete":{"summary":"Removes membership","description":"","tags":["UserMembership"],"parameters":[{"name":"team_id","in":"path","description":"ID of the team"},{"name":"user_id","in":"path","description":"ID of the user"}],"responses":{"204":{"description":"User team membership removed"}}}},"/tests":{"options":{"summary":"Test object","tags":["Tests"],"description":"API allows you to perform CRUD actions on tests resource for your account. As of now, manupulation of questions is not supported in tests API.","responses":{"description":{"schema":{"$ref":"#/definitions/TestsRef"}}}}},"/x/api/v3/tests?limit={limit}\u0026offset={offset}":{"get":{"summary":"List all tests","description":"","tags":["Tests"],"parameters":[{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested tests","items":{"$ref":"#/definitions/TestsIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total tests in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/tests?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/tests?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/tests?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/tests":{"post":{"summary":"Create test","description":"","tags":["Tests"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/TestsCreate"}}],"responses":{"200":{"description":"Test response","schema":{"$ref":"#/definitions/TestsShow"}}}}},"/x/api/v3/tests/{id}?additional_fields={additional_fields}":{"get":{"summary":"Retrieve test","description":"","tags":["Tests"],"parameters":[{"name":"id","in":"path","description":"ID of the Test"},{"name":"additional_fields","in":"path","description":"Supported test fields to get detailed info on those fields (Comma separated field names). \nFollowing fields are supported:\n\n        languages, candidate_details, custom_acknowledge_text, cutoff_score, cutoff_score_percentage, candidate_max_score, master_password, hide_compile_test, mcq_incorrect_score, mcq_correct_score, locked_by, secure, short_login_url, public_login_url, shuffle_questions, test_admins, hide_template, enable_acknowledgement, experience, job_roles, invited, in_progress, to_evaluate, qualified, failed, completed, questions_count, predefined, draft, ddna_star_rating_enabled, ats_id, ats_job, ats_perform_as, block_publish, blocked_by_library_access, max_score, public_url, role_ids, enable_proctoring, candidate_tab_switch, track_editor_paste, parent_id, hr_certified, disable_leakage_protection, ai_proctor_frozen_flag, enable_ai_proctor, enable_live_face_detection, enable_candidate_screenshare, enable_hackerrank_app, enable_ai_evaluation, enable_ai_assisted_test, updated_at, sections_data","required":false}],"responses":{"200":{"schema":{"$ref":"#/definitions/TestsShow"}}}}},"/x/api/v3/tests/{id}":{"put":{"summary":"Update test","description":"","tags":["Tests"],"parameters":[{"name":"id","in":"path","description":"ID of the Test"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/TestsUpdate"}}]},"delete":{"summary":"Deletes test","description":"","tags":["Tests"],"parameters":[{"name":"id","in":"path","description":"ID of the test"}],"responses":{"204":{"description":"Test Deleted"}}}},"/x/api/v3/tests/{id}/archive":{"post":{"summary":"Archives test","description":"","tags":["Tests"],"parameters":[{"name":"id","in":"path","description":"ID of the test"}],"responses":{"204":{"description":"Test Archived"}}}},"/x/api/v3/tests/{id}/inviters":{"get":{"summary":"List all inviters for a test","description":"","tags":["Tests"],"parameters":[{"name":"id","in":"path","description":"ID of the test"},{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested users","items":{"$ref":"#/definitions/InvitersIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total users in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/users?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/candidates":{"options":{"summary":"Test Candidate object","description":"This object represents candidate that are invited or have attempted a test (or both). As such, a candidate object always exists in context of test.","tags":["TestCandidate"],"responses":{"description":{"schema":{"$ref":"#/definitions/TestCandidateRef"}}}}},"/x/api/v3/candidates/search":{"get":{"summary":"Search candidates","description":"Searches candidates by name or email and returns accessible test attempt results for each matching candidate. Pagination is applied to candidate matches.","tags":["Candidates"],"parameters":[{"name":"query","in":"query","description":"Candidate name or email search query","required":true,"type":"string"},{"name":"limit","in":"query","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"query","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested search","items":{"$ref":"#/definitions/CandidateSearchResult"}},"page_total":{"default":1,"type":"integer","description":"Count of total search in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/candidates/search?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/candidates/search?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/candidates/search?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"},"query":{"type":"string","description":"Search term used for the request"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/tests/{test_id}/candidates?limit={limit}\u0026offset={offset}":{"get":{"summary":"List all candidates","description":"","tags":["TestCandidate"],"parameters":[{"name":"test_id","in":"path","description":"ID of the test","required":true},{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested candidates","items":{"$ref":"#/definitions/TestCandidateIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total candidates in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/tests/1/candidates?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/tests/1/candidates?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/tests/1/candidates?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/tests/{test_id}/candidates":{"post":{"summary":"Invite candidate","description":"Invites a single candidate to the test. Note: Multiple invitations are not supported through this endpoint.","tags":["TestCandidate"],"parameters":[{"name":"test_id","in":"path","description":"ID of the test","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/TestCandidateCreate"}}],"responses":{"200":{"schema":{"required":["test_link","email","id"],"properties":{"test_link":{"type":"string","default":"https://www.hackerrank.com/tests/bdsiod7sd22/login?b=efJ1c2VybmFtZSI6ImRhbm55LnBldGVyc29uQGhff2tlcnJhbmsuY19tIiwidGFzc3dvcmQiOiI0ZTQ4OWJjNSIsImhpZGUiOnRydWV9","description":"A link sent to the candidate where they can attempt the test."},"email":{"type":"string","default":"alice.wonders@email.com","description":"Email address of the candidate."},"id":{"type":"integer","default":"10000","description":"ID of the test candidate."}}}}}}},"/x/api/v3/tests/{test_id}/candidates/{candidate_id}?additional_fields={additional_fields}":{"get":{"summary":"Show candidate","description":"","tags":["TestCandidate"],"parameters":[{"name":"test_id","in":"path","description":"ID of the test","required":true},{"name":"candidate_id","in":"path","description":"ID of the candidate","required":true},{"name":"additional_fields","in":"path","description":"Supported test candidate fields to get detailed info on those fields (Comma separated field names). For eg: 'questions,scores_sections_split'. This is used to get detailed information on the supported test candidate fields. Some supported fields are : 'questions' to get score details on each question, 'scores_sections_split' to get info on each test section, 'user' to get user details, 'test' to get test details, etc","required":false}],"responses":{"200":{"schema":{"$ref":"#/definitions/TestCandidateShow"}}}}},"/x/api/v3/tests/{test_id}/candidates/{candidate_id}":{"put":{"summary":"Update candidate","description":"","tags":["TestCandidate"],"parameters":[{"name":"test_id","in":"path","description":"ID of the test","required":true},{"name":"candidate_id","in":"path","description":"ID of the candidate","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/TestCandidateUpdate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/TestCandidateShow"}}}}},"/x/api/v3/tests/{test_id}/candidates/{candidate_id}/pdf?format=url":{"get":{"summary":"Get report pdf","description":"In case of a 503 HTTP Status, please try downloading the pdf after some time.","tags":["TestCandidate"],"parameters":[{"name":"test_id","in":"path","description":"ID of the test","required":true},{"name":"candidate_id","in":"path","description":"ID of the candidate","required":true}]}},"/x/api/v3/tests/{test_id}/candidates/{candidate_id}/report":{"delete":{"summary":"Delete report","description":"","tags":["TestCandidate"],"parameters":[{"name":"test_id","in":"path","description":"ID of the test","required":true},{"name":"candidate_id","in":"path","description":"ID of the candidate","required":true}]}},"/x/api/v3/tests/{test_id}/candidates/{candidate_id}/invite":{"delete":{"summary":"Cancel invite","description":"","tags":["TestCandidate"],"parameters":[{"name":"test_id","in":"path","description":"ID of the test","required":true},{"name":"candidate_id","in":"path","description":"ID of the candidate","required":true}]}},"/x/api/v3/tests/{test_id}/candidates/search?search={search}\u0026limit={limit}\u0026offset={offset}":{"get":{"summary":"Search candidates","description":"","tags":["TestCandidate"],"parameters":[{"name":"test_id","in":"path","description":"ID of the test","required":true},{"name":"search","in":"path","description":"Name or email","required":true},{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested candidates","items":{"$ref":"#/definitions/TestCandidateIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total candidates in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/tests/1/candidates?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/tests/1/candidates?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/tests/1/candidates?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/interviews":{"get":{"summary":"List all interviews","description":"Returns the list of your interviews","tags":["Interviews"],"parameters":[{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"},{"name":"created_at","in":"query","description":"It is the datetime when the interview was created. It needs to be passed in the form of \"from..to\". For example: 2024-01-21T13:36:21+0000..2024-01-22T00:00:00+0000. Both \"from\" and \"to\" are in form of YYYY-MM-DDThh:mm:ss±zzz where zzz is offset form UTC timezone in form of hh:mm including a leading zero for single digit hour value. All time values are 24 hour format","required":false},{"name":"updated_at","in":"query","description":"It is the datetime when the interview was updated. It needs to be passed in the form of \"from..to\". For example: 2024-01-21T13:36:21+0000..2024-01-22T00:00:00+0000. Both \"from\" and \"to\" are in form of YYYY-MM-DDThh:mm:ss±zzz where zzz is offset form UTC timezone in form of hh:mm including a leading zero for single digit hour value. All time values are 24 hour format","required":false},{"name":"ended_at","in":"query","description":"It is the datetime when the interview ended. It needs to be passed in the form of \"from..to\". For example: 2024-01-21T13:36:21+0000..2024-01-22T00:00:00+0000. Both \"from\" and \"to\" are in form of YYYY-MM-DDThh:mm:ss±zzz where zzz is offset form UTC timezone in form of hh:mm including a leading zero for single digit hour value. All time values are 24 hour format","required":false},{"name":"user","in":"query","description":"Filter by ID of the user who created the interview","required":false},{"name":"interviewers","in":"query","description":"Filter by ID of any one interviewer","required":false},{"name":"access","in":"query","description":"Filter interviews based on access rights. It can have the following values:\n        - owned\n        - shared","required":false},{"name":"current_status","in":"query","description":"Filters all interviews based on the current status of the interview.\n\n        0: New\n        1: Active\n        2: Ended\n        3: Paused","required":false},{"name":"order_by","in":"query","description":"Sort the interviews in a specific order. It can have the following values:\n        - title\n        - id (ID of the interview)\n        - created_at\n        - ended_at\n        - current_status\n        - user","required":false},{"name":"order_dir","in":"query","description":"Defines the direction of sorting. This parameter is required to be passed if you are using \"order_by\". It can have the following values:\n        - asc: Ascending order\n        - desc: Descending order","required":false}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested interviews","items":{"$ref":"#/definitions/InterviewIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total interviews in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/interviews?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/interviews?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/interviews?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}},"post":{"summary":"Create interview","description":"","tags":["Interviews"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/InterviewCreate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/InterviewShow"}}}}},"/x/api/v3/interviews/{interview_id}":{"get":{"summary":"Show interview","description":"","tags":["Interviews"],"parameters":[{"name":"interview_id","in":"path","description":"ID of interview","required":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/InterviewShow"}}}},"put":{"summary":"Update interview","description":"","tags":["Interviews"],"parameters":[{"name":"interview_id","in":"path","description":"ID of interview","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/InterviewUpdate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/InterviewShow"}}}},"delete":{"summary":"Delete interview","description":"","tags":["Interviews"],"parameters":[{"name":"interview_id","in":"path","description":"ID of interview","required":true}]}},"/x/api/v3/interviews/{interview_id}/artifacts":{"get":{"summary":"Get interview artifacts","description":"Returns question artifact download links, a transcript descriptor, and interviewer note references for an ended Interviews V2 interview. Requires API authentication, permission to view interviews and interview reports, and access to the interview in the authenticated user's company. Deleted interviews are excluded.\u003cbr /\u003e\u003cbr /\u003eDuring the first five minutes after the recorded interview end, returns 202 with Retry-After seconds, even if some artifacts already exist. Ended interviews without a recorded end timestamp skip this waiting window. After the window, returns 200 with the available metadata; this does not guarantee that artifact generation is complete. Missing artifacts are represented by their states, and missing saved metadata can produce an empty questions array.\u003cbr /\u003e\u003cbr /\u003eDownload only artifacts whose state is available. Signed download URLs are valid for 3,600 seconds. This GET retrieves existing artifacts and does not start or restart generation. No request body, pagination, fields, or expand parameters are supported.","tags":["Interviews"],"produces":["application/json"],"parameters":[{"name":"interview_id","in":"path","type":"integer","description":"Numeric interview record ID.","required":true}],"responses":{"200":{"description":"Artifact metadata. Inspect individual states before downloading; unavailable artifacts and empty arrays are valid.","schema":{"$ref":"#/definitions/InterviewArtifactsShow"},"examples":{"application/json":{"interview_id":"123","transcript_url":{"state":"unavailable","location":null},"interviewer_notes":[{"note_id":456,"evaluator_id":789}],"questions":[{"tab_id":"2","question_sequence":1,"library_question_id":"321","qtype":"code","artifacts":{"submitted_code_url":{"state":"available","location":"https://downloads.example.com/final-code.json?signature=EXAMPLE"},"test_execution_history_url":{"state":"unavailable","location":null},"ai_chat_url":{"state":"not_applicable","location":null}}},{"tab_id":"5","question_sequence":2,"library_question_id":null,"qtype":"whiteboard","question_name":"Design a queue","problem_statement":"Design a queue service for background jobs.","artifacts":{"whiteboard_elements_url":{"state":"unavailable","location":null}}}]}}},"202":{"description":"The interview ended less than five minutes ago. Wait Retry-After seconds, then repeat the request. The response contains only a message.","headers":{"Retry-After":{"type":"integer","minimum":1,"description":"Remaining seconds until five minutes after the recorded interview end, rounded up."}},"schema":{"$ref":"#/definitions/InterviewArtifactsPending"},"examples":{"application/json":{"message":"Interview artifacts are being generated. Please try again after 180."}}},"401":{"description":"Authentication is missing or invalid.","schema":{"$ref":"#/definitions/InterviewArtifactsError"},"examples":{"application/json":{"errors":["Authentication header invalid"]}}},"403":{"description":"The user lacks interview or report view permission, the account is locked, or the token is restricted.","schema":{"$ref":"#/definitions/InterviewArtifactsError"},"examples":{"application/json":{"errors":["You do not have permission to view interview reports"]}}},"404":{"description":"The interview does not exist, is deleted, belongs to another company, or is inaccessible.","schema":{"$ref":"#/definitions/InterviewArtifactsError"},"examples":{"application/json":{"errors":["Unable to find interview with id 123"]}}},"422":{"description":"The interview was not conducted in Interviews V2 (Artifacts are only available for interviews conducted in interviews-v2), or it has not ended. No Retry-After header is returned.","schema":{"$ref":"#/definitions/InterviewArtifactsError"},"examples":{"application/json":{"errors":["Interview has not ended"]}}},"500":{"description":"An unexpected error prevented artifact retrieval.","schema":{"$ref":"#/definitions/InterviewArtifactsError"},"examples":{"application/json":{"errors":["Unable to retrieve interview artifacts"]}}}}}},"/x/api/v3/interviews/{interview_id}/transcript":{"get":{"summary":"Show interview transcript","description":"Returns the transcript of your interview","tags":["Interviews"],"parameters":[{"name":"interview_id","in":"path","description":"ID of interview","required":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/InterviewTranscriptShow"}}}}},"/x/api/v3/interview_templates":{"post":{"summary":"Create interview template","description":"Creates a new interview template. Requires CREATE_EDIT entitlement when flexible roles is enabled. Question IDs and skill unique IDs must be accessible to the current user.","tags":["Interview Templates"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the interview template","example":"Frontend Developer Interview Template"},"role_id":{"type":"string","description":"Role unique ID for the template","example":"8b1o41tbpiq"},"question_ids":{"type":"array","description":"Array of question IDs to add to the template","example":[1939659],"items":{"type":"integer"}}}}}],"responses":{"200":{"description":"Interview template response","schema":{"$ref":"#/definitions/InterviewTemplateShow"}}}}},"/x/api/v3/interview_templates?limit={limit}\u0026offset={offset}":{"get":{"summary":"List all interview templates","description":"Returns the list of interview templates accessible to the user","tags":["Interview Templates"],"parameters":[{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"},{"name":"filter","in":"query","description":"Filter interview templates by ownership. It can have the following values:\n        - owned: Templates created by the current user\n        - shared: Templates shared with the current user (excluding templates created by the current user)","required":false}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested interview_templates","items":{"$ref":"#/definitions/InterviewTemplateIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total interview_templates in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/interview_templates?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/interview_templates?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/interview_templates?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/interview_templates/{template_id}":{"get":{"summary":"Show interview template","description":"Returns the details of a single interview template.","tags":["Interview Templates"],"parameters":[{"name":"template_id","in":"path","type":"integer","description":"ID of the interview template to retrieve","required":true}],"responses":{"200":{"description":"Interview template response","schema":{"$ref":"#/definitions/InterviewTemplateShow"}}}},"put":{"summary":"Update interview template","description":"Updates an existing interview template. Only the template owner, company admins with explicit sharing enabled, or users with explicit editor access can update. Only provided fields are updated; omitted fields remain unchanged.","tags":["Interview Templates"],"parameters":[{"name":"template_id","in":"path","type":"integer","description":"ID of the interview template to update","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the interview template","example":"Frontend Developer Interview Template"},"role_id":{"type":"string","description":"Role unique ID for the template","example":"8b1o41tbpiq"},"scorecard_id":{"type":"integer","description":"ID of the scorecard to associate with the template","example":98765}}}}],"responses":{"200":{"description":"Interview template response","schema":{"$ref":"#/definitions/InterviewTemplateShow"}}}},"delete":{"summary":"Delete interview template","description":"Deletes an interview template. Only the template owner or company admins with explicit sharing enabled can delete a template.","tags":["Interview Templates"],"parameters":[{"name":"template_id","in":"path","type":"integer","description":"ID of the interview template to delete","required":true}],"responses":{"200":{"description":"Interview template deleted successfully","schema":{"properties":{"message":{"type":"string","example":"Success"}}}}}}},"/x/api/v3/interview_templates/{template_id}/add_questions":{"put":{"summary":"Add questions to interview template","description":"Adds multiple questions to an existing interview template. Requires write access to the interview template. Question IDs must be accessible to the current user.","tags":["Interview Templates"],"parameters":[{"name":"template_id","in":"path","type":"integer","description":"ID of the interview template to update","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"object","required":["question_ids"],"example":{"question_ids":[111166]},"properties":{"question_ids":{"type":"array","description":"Array of question IDs to add to the template","default":[111166],"example":[111166],"items":{"type":"integer"}}}}}],"responses":{"200":{"description":"Interview template response","schema":{"$ref":"#/definitions/InterviewTemplateShow"},"examples":{"application/json":{"id":"12345","name":"Frontend Developer Interview Template","created_at":"2026-09-11T10:30:00+0000","status":1,"user":13245,"roles":["8b1o41tbpiq"],"team_share":1,"template_type":"regular","skills":[],"questions":[111166],"scorecard":98765,"hiring_plan_id":null,"import_template":true,"editor_access":true}}}}}},"/x/api/v3/interview_templates/{template_id}/remove_question":{"delete":{"summary":"Remove question from interview template","description":"Removes a question from an existing interview template. Requires write access to the interview template.","tags":["Interview Templates"],"parameters":[{"name":"template_id","in":"path","type":"integer","description":"ID of the interview template to update","required":true},{"name":"question_id","in":"query","required":true,"type":"integer","description":"ID of the question to remove from the template","example":111166}],"responses":{"200":{"description":"Interview template response","schema":{"$ref":"#/definitions/InterviewTemplateShow"},"examples":{"application/json":{"id":"12345","name":"Frontend Developer Interview Template","created_at":"2026-09-11T10:30:00+0000","status":1,"user":13245,"roles":["8b1o41tbpiq"],"team_share":1,"template_type":"regular","skills":[],"questions":[],"scorecard":98765,"hiring_plan_id":null,"import_template":false,"editor_access":true}}}}}},"/x/api/v3/interview_templates/{template_id}/explicit_sharing_roles/update_access":{"post":{"summary":"Share interview template","description":"Grants or updates sharing access to an interview template for one or more users, teams, or the company. Requires interview write permission on the template.","tags":["Interview Templates"],"parameters":[{"name":"template_id","in":"path","type":"integer","description":"ID of the interview template to update","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"object","required":["explicit_roles"],"properties":{"explicit_roles":{"type":"array","description":"Array of sharing access grants to apply","items":{"$ref":"#/definitions/ExplicitSharingRoleGrant"}}}}}],"responses":{"200":{"description":"All roles were updated successfully","schema":{"properties":{"model":{"type":"array","example":[]},"status":{"type":"boolean","example":true},"message":{"type":"string","example":"Successfully updated"}},"required":["model","status","message"]}}}}},"/x/api/v3/interview_templates/{template_id}/explicit_sharing_roles/remove_access":{"delete":{"summary":"Unshare interview template","description":"Revokes sharing access to an interview template for one or more users, teams, or the company. Requires interview write permission on the template.","tags":["Interview Templates"],"parameters":[{"name":"template_id","in":"path","type":"integer","description":"ID of the interview template to revoke sharing access for","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"object","required":["explicit_roles"],"properties":{"explicit_roles":{"type":"array","description":"Array of sharing access revocations to apply","items":{"$ref":"#/definitions/ExplicitSharingRoleRevoke"}}}}}]}},"/questions":{"options":{"summary":"Questions object","description":"This object represents questions available in this account.","tags":["Questions"],"responses":{"description":{"schema":{"$ref":"#/definitions/QuestionRef"}}}}},"/x/api/v3/questions":{"get":{"summary":"List all questions","description":"","tags":["Questions"],"parameters":[{"name":"status","in":"query","description":"Question status (active/archived)","required":false},{"name":"access","in":"query","description":"Access type (library, owned, shared) (comma separated values)","required":false},{"name":"difficulty","in":"query","description":"Difficulty of questions (comma separated values)","required":false},{"name":"type","in":"query","description":"Type of questions (comma separated values)","required":false},{"name":"owner","in":"query","description":"User ids (comma separated values)","required":false},{"name":"tags","in":"query","description":"Tags (comma separated values)","required":false},{"name":"skills","in":"query","description":"Skills (comma separated values)","required":false},{"name":"languages","in":"query","description":"Languages allowed for the question (comma separated values)","required":false}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested question","items":{"$ref":"#/definitions/QuestionIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total question in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/question?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/question?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/question?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}},"post":{"summary":"Create Question","description":"","tags":["Questions"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/QuestionCreate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuestionShow"}}}}},"/x/api/v3/questions/{question_id}":{"get":{"summary":"Show question","description":"","tags":["Questions"],"parameters":[{"name":"question_id","in":"path","description":"ID of question","required":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuestionShow"}}}},"put":{"summary":"Update question","description":"","tags":["Questions"],"parameters":[{"name":"question_id","in":"path","description":"ID of question","required":true},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/QuestionUpdate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuestionShow"}}}}},"/x/api/v3/questions/{question_id}/generate":{"put":{"summary":"Generate codestubs","description":"","tags":["Questions"],"parameters":[{"name":"question_id","in":"path","description":"ID of question","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"type":{"type":"string","default":"code","description":"Type of question","enum":["code","approx"]},"functionName":{"type":"string","default":"function_name","description":"Name of the function"},"functionParams":{"type":"string","default":"INTEGER param","description":"Parameters for the function. There can be more than one parameters. Example: \u003ccode\u003eINTEGER param1 STRING param2\u003c/code\u003e"},"functionReturn":{"type":"string","default":"INTEGER","description":"Return type of the function"},"allowedLanguages":{"type":"string","default":"C, Clojure","description":"Languages available for codestub generation. This is only available for code/approx question types."}}}}],"responses":{"200":{"schema":{"type":"object","properties":{"functionName":{"type":"string","default":"function_name","description":"Name of the function"},"functionParams":{"type":"string","default":"INTEGER param","description":"Parameters for the function. There can be more than one parameters. Example: \u003ccode\u003eINTEGER param1 STRING param2\u003c/code\u003e"},"functionReturn":{"type":"string","default":"INTEGER","description":"Return type of the function"},"allowedLanguages":{"type":"string","default":"C, Clojure","description":"Languages available for codestub generation. This is only available for code/approx question types."},"c_template_head":{"type":"string","default":"#include \u003cassert.h\u003e\n#include \u003cctype.h\u003e\n#include \u003climits.h\u003e\n#include \u003cmath.h\u003e\n#include \u003cstdbool.h\u003e\n#include \u003cstddef.h\u003e\n#include \u003cstdint.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstring.h\u003e\n\nchar* readline();\nchar* ltrim(char*);\nchar* rtrim(char*);\n\nint parse_int(char*);\n\n","description":"Head of the codestub generated for C"},"c_template_tail":{"type":"string","default":"int main()\n{\n    FILE* fptr = fopen(getenv(\"OUTPUT_PATH\"), \"w\");\n\n    int param = parse_int(ltrim(rtrim(readline())));\n\n    int result = function_name(param);\n\n    fprintf(fptr, \"%d\\n\", result);\n\n    fclose(fptr);\n\n    return 0;\n}\n\nchar* readline() {\n    size_t alloc_length = 1024;\n    size_t data_length = 0;\n\n    char* data = malloc(alloc_length);\n\n    while (true) {\n        char* cursor = data + data_length;\n        char* line = fgets(cursor, alloc_length - data_length, stdin);\n\n        if (!line) {\n            break;\n        }\n\n        data_length += strlen(cursor);\n\n        if (data_length \u003c alloc_length - 1 || data[data_length - 1] == '\\n') {\n            break;\n        }\n\n        alloc_length \u003c\u003c= 1;\n\n        data = realloc(data, alloc_length);\n\n        if (!data) {\n            data = '\\0';\n\n            break;\n        }\n    }\n\n    if (data[data_length - 1] == '\\n') {\n        data[data_length - 1] = '\\0';\n\n        data = realloc(data, data_length);\n\n        if (!data) {\n            data = '\\0';\n        }\n    } else {\n        data = realloc(data, data_length + 1);\n\n        if (!data) {\n            data = '\\0';\n        } else {\n            data[data_length] = '\\0';\n        }\n    }\n\n    return data;\n}\n\nchar* ltrim(char* str) {\n    if (!str) {\n        return '\\0';\n    }\n\n    if (!*str) {\n        return str;\n    }\n\n    while (*str != '\\0' \u0026\u0026 isspace(*str)) {\n        str++;\n    }\n\n    return str;\n}\n\nchar* rtrim(char* str) {\n    if (!str) {\n        return '\\0';\n    }\n\n    if (!*str) {\n        return str;\n    }\n\n    char* end = str + strlen(str) - 1;\n\n    while (end \u003e= str \u0026\u0026 isspace(*end)) {\n        end--;\n    }\n\n    *(end + 1) = '\\0';\n\n    return str;\n}\n\nint parse_int(char* str) {\n    char* endptr;\n    int value = strtol(str, \u0026endptr, 10);\n\n    if (endptr == str || *endptr != '\\0') {\n        exit(EXIT_FAILURE);\n    }\n\n    return value;\n}\n","description":"Tail of the codestub generated for C"},"c_template":{"type":"string","default":"/*\n * Complete the 'function_name' function below.\n *\n * The function is expected to return an INTEGER.\n * The function accepts INTEGER param as parameter.\n */\n\nint function_name(int param) {\n\n}\n\n","description":"Body of the codestub generated for C"},"clojure_template_head":{"type":"string","default":"\n\n","description":"Head of the codestub generated for Clojure"},"clojure_template_tail":{"type":"string","default":"(def fptr (get (System/getenv) \"OUTPUT_PATH\"))\n\n(def param (Integer/parseInt (clojure.string/trim (read-line))))\n\n(def result (function_name param))\n\n(spit fptr (str result \"\\n\") :append true)\n","description":"Tail of the codestub generated for Clojure"},"clojure_template":{"type":"string","default":";\n; Complete the 'function_name' function below.\n;\n; The function is expected to return an INTEGER.\n; The function accepts INTEGER param as parameter.\n;\n\n(defn function_name [param]\n\n)\n\n","description":"Body of the codestub generated for Clojure"},"template_type":{"type":"string","default":"1","description":"Type of template"}}}}}}},"/x/api/v3/questions/{question_id}/custom_codestubs":{"put":{"summary":"Update codestubs","description":"","tags":["Questions"],"parameters":[{"name":"question_id","in":"path","description":"ID of question","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"templates":{"type":"array","default":[{"language":"c","head":"","body":"int main()","tail":""},{"language":"cpp","head":"","body":"int main()","tail":""}],"required":true,"description":"List of the template","items":{"type":"object","properties":{"language":{"type":"string","default":"c","description":"Language of the template"},"head":{"type":"string","default":"","description":"Head of the template"},"body":{"type":"string","default":"","required":true,"description":"template"},"tail":{"type":"string","default":"","description":"Tail of the template"}}}}}}}]}},"/x/api/v3/questions/{question_id}/testcases":{"post":{"summary":"Add testcase","description":"","tags":["Questions"],"parameters":[{"name":"question_id","in":"path","description":"ID of question","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"explanation":{"type":"string","default":"","description":"The explanation for the testcase"},"input":{"type":"string","default":"input","description":"Input for the testcase"},"output":{"type":"string","default":"output","description":"Output for the testcase"},"name":{"type":"string","default":"name","description":"Name of the testcase"},"qid":{"type":"integer","default":1,"description":"Question id of the question to which testcase will be added"},"sample":{"type":"integer","default":false,"description":"True if it is a sample testcase"},"score":{"type":"integer","default":10,"description":"Score of the testcase"},"type":{"type":"string","default":"easy","description":"Type of the testcase"}}}}]}},"/x/api/v3/questions/{question_id}/testcases/{testcase_id}":{"put":{"summary":"Update testcase","description":"","tags":["Questions"],"parameters":[{"name":"question_id","in":"path","description":"ID of question","required":true},{"name":"testcase_id","in":"path","description":"Testcase ID","required":true},{"name":"body","in":"body","required":true,"schema":{"type":"object","properties":{"explanation":{"type":"string","default":"","description":"The explanation for the testcase"},"input":{"type":"string","default":"input","description":"Input for the testcase"},"output":{"type":"string","default":"output","description":"Output for the testcase"},"name":{"type":"string","default":"name","description":"Name of the testcase"},"qid":{"type":"integer","default":1,"description":"Question id of the question to which testcase will be added"},"sample":{"type":"integer","default":false,"description":"True if it is a sample testcase"},"score":{"type":"integer","default":10,"description":"Score of the testcase"},"type":{"type":"string","default":"easy","description":"Type of the testcase"}}}}]},"delete":{"summary":"Delete testcase","description":"","tags":["Questions"],"parameters":[{"name":"question_id","in":"path","description":"ID of question","required":true},{"name":"testcase_id","in":"path","description":"Testcase ID","required":true}]}},"/x/api/v3/questions/{question_id}/testcases/delete_all":{"delete":{"summary":"Delete All testcases","description":"","tags":["Questions"],"parameters":[{"name":"question_id","in":"path","description":"ID of question","required":true}]}},"/x/api/v3/templates":{"get":{"summary":"List all invite templates","description":"","tags":["Templates"],"parameters":[{"name":"access","in":"query","description":"Access type (shared/owned)","required":false}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested templates","items":{"$ref":"#/definitions/TemplateIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total templates in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/templates?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/templates?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/templates?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/templates/{template_id}":{"get":{"summary":"Show invite template","description":"","tags":["Templates"],"parameters":[{"name":"template_id","in":"path","description":"ID of template","required":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/TemplateShow"}}}}},"/auditlogs":{"options":{"summary":"Audit Log Object","description":"This object represents audit-log structure for this account.","tags":["AuditLogs"],"responses":{"description":{"schema":{"$ref":"#/definitions/AuditLogRef"}}}}},"/x/api/v3/audit_log?limit={limit}\u0026offset={offset}\u0026user_id={user_id}":{"get":{"summary":"List all audit logs","description":"Returns the list of audit logs.","tags":["AuditLogs"],"parameters":[{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"data":{"type":"array","description":"List of requested audit_logs","items":{"$ref":"#/definitions/AuditLogIndex"}},"page_total":{"default":1,"type":"integer","description":"Count of total audit_logs in current page"},"offset":{"default":0,"type":"integer","description":"Offset in current page"},"previous":{"default":"","type":"string","description":"URL for previous page. This will be empty when current page is first page"},"next":{"default":"https://www.hackerrank.com/x/api/v3/audit_logs?limit=1\u0026offset=1","type":"string","description":"URL for next page. This will be empty when current page is last page"},"first":{"default":"https://www.hackerrank.com/x/api/v3/audit_logs?limit=1\u0026offset=0","type":"string","description":"URL for first page."},"last":{"default":"https://www.hackerrank.com/x/api/v3/audit_logs?limit=1\u0026offset=12","type":"string","description":"URL for last page."},"total":{"default":13,"type":"string","description":"Total items for current query"}},"required":["data","page_total","offset","previous","next","first","last","total"]}}}}},"/x/api/v3/ats/codescreen":{"post":{"summary":"ATS Candidate Invite","description":"Use this API when sending an invite from an ATS system. This API requires a requisition_id and candidate_id, which allows HackerRank to track a single candidate across multiple requisitions who are sent the same test. This API is only enabled for approved integrations, a partner key from HackerRank is required in the request.","tags":["ATS CodeScreen"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ATSCodeScreenCreate"}}],"responses":{"200":{"schema":{"required":["test_link","email","id"],"properties":{"test_link":{"type":"string","default":"https://www.hackerrank.com/tests/bdsiod7sd22/login?b=efJ1c2VybmFtZSI6ImRhbm55LnBldGVyc29uQGhff2tlcnJhbmsuY19tIiwidGFzc3dvcmQiOiI0ZTQ4OWJjNSIsImhpZGUiOnRydWV9","description":"A link sent to the candidate where they can attempt the test."},"email":{"type":"string","default":"alice.wonders@email.com","description":"Email address of the candidate."},"id":{"type":"integer","default":"10000","description":"ID of the test candidate."}}}}}}},"/x/api/v3/ats/codepair":{"post":{"summary":"ATS Interview Invite","description":"Use this API when sending an interview invite from an ATS system. This API requires a title, requisition_id and candidate_id. This API is only enabled for approved integrations, a partner key from HackerRank is required in the request.","tags":["ATS Codepair"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/ATSCodePairCreate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/InterviewShow"}}}}},"https://services.hackerrank.com/scim/v2":{"options":{"summary":"Overview","description":"\u003cp\u003eProvision and manage user accounts and groups with the HackerRank SCIM v2.0 API. SCIM is used by Single Sign-On (SSO) services and identity providers to manage people across a variety of services. Read more at: https://www.rfc-editor.org/rfc/rfc7644.html\u003c/p\u003e\n                          \u003cp\u003eThe HackerRank SCIM v2 API Endpoints use the following base URL:\n                          \u003ccode\u003ehttps://services.hackerrank.com/scim/v2\u003c/code\u003e\n                          \u003cp\u003eThe API Key to be used for SCIM can be found under SSO settings in HackerRank: https://www.hackerrank.com/work/settings/sso\u003c/p\u003e","tags":["SCIM v2"]}},"/Users?limit={limit}\u0026offset={offset}":{"get":{"summary":"List Users","description":"\u003cp\u003eReturns the list of your users. When returning a large list of users, your SCIM implementation must support pagination.\u003c/p\u003e\n                          \u003cp\u003eIn order to retrieve additional resources, the offset query parameter can be incremented for subsequent requests.\u003c/p\u003e","tags":["SCIM v2"],"parameters":[{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"schemas":{"type":"array","description":"SCIM Schema","default":["urn:ietf:params:scim:schemas:core:2.0:ListResponse"]},"Resources":{"type":"array","description":"List of requested Users","items":{"$ref":"#/definitions/SCIMUserEntryIndex"}},"startIndex":{"default":0,"type":"integer","description":"Starting index of Users"},"itemsPerPage":{"default":1,"type":"integer","description":"Count of Users per page"},"totalResults":{"default":1,"type":"integer","description":"Total items for current query"}},"required":["Resources","startIndex","itemsPerPage","totalResults"]}}}}},"/Users":{"post":{"summary":"Create User","description":"Create a new user object.","tags":["SCIM v2"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/SCIMUserCreate"}}],"responses":{"201":{"description":"User response","schema":{"$ref":"#/definitions/SCIMUserShow"}}}}},"/Users/{id}":{"get":{"summary":"Retrieve User","description":"Retrieves the details of an existing user. You need only supply the unique customer identifier that was returned upon user creation.","tags":["SCIM v2"],"parameters":[{"name":"id","in":"path","type":"string","description":"ID of user to retrieve","schema":{"$ref":"#/definitions/SCIMUserShow"}}],"responses":{"200":{"description":"User response","schema":{"$ref":"#/definitions/SCIMUserShow"}}}},"put":{"summary":"Edit User - PUT","description":"Updates the specified user by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts mostly the same arguments as the user creation call.","tags":["SCIM v2"],"parameters":[{"name":"id","in":"path","type":"string","description":"ID of user to update"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/SCIMUserUpdate"}}],"responses":{"200":{"description":"User response","schema":{"$ref":"#/definitions/SCIMUserShow"}}}},"patch":{"summary":"Edit User - PATCH","description":"Updates the specified user by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts mostly the same arguments as the user creation call.","tags":["SCIM v2"],"parameters":[{"name":"id","in":"path","type":"string","description":"ID of user to update"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/SCIMPatchCreate","name":"Operations"}}],"responses":{"200":{"description":"User response","schema":{"properties":{"schemas":{"type":"array","description":"SCIM Schema","default":["urn:ietf:params:scim:schemas:core:2.0:User"]},"message":{"type":"string","description":"Response message","default":"Successful transaction"}},"required":["message"]}}}},"delete":{"summary":"Lock User","description":"Lock a user. This will also remove user from all the team that they are currently part of.","tags":["SCIM v2"],"parameters":[{"name":"id","in":"path","type":"string","description":"ID of user to lock"}],"responses":{"204":{"description":"User locked"}}}},"/Groups?limit={limit}\u0026offset={offset}":{"get":{"summary":"List Teams","description":"\u003cp\u003eReturns the list of your teams. When returning a large list of teams, your SCIM implementation must support pagination.\u003c/p\u003e\n                          \u003cp\u003eIn order to retrieve additional resources, the offset query parameter can be incremented for subsequent requests.\u003c/p\u003e","tags":["SCIM v2"],"parameters":[{"name":"limit","in":"path","default":10,"type":"integer","description":"Number of records to fetch"},{"name":"offset","in":"path","default":0,"type":"integer","description":"Offset of records"}],"responses":{"200":{"schema":{"properties":{"schemas":{"type":"array","description":"SCIM Schema","default":["urn:ietf:params:scim:schemas:core:2.0:ListResponse"]},"Resources":{"type":"array","description":"List of requested Teams","items":{"$ref":"#/definitions/SCIMTeamEntryIndex"}},"startIndex":{"default":0,"type":"integer","description":"Starting index of Teams"},"itemsPerPage":{"default":1,"type":"integer","description":"Count of Teams per page"},"totalResults":{"default":1,"type":"integer","description":"Total items for current query"}},"required":["Resources","startIndex","itemsPerPage","totalResults"]}}}}},"/Groups":{"post":{"summary":"Create Team","description":"Create a new team object","tags":["SCIM v2"],"parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/SCIMTeamCreate"}}],"responses":{"200":{"description":"Team response","schema":{"$ref":"#/definitions/SCIMTeamShow"}}}}},"/Groups/{id}":{"get":{"summary":"Retrieve Team","description":"Retrieves the details of an existing Team. You need only supply the unique customer identifier that was returned upon Team creation.","tags":["SCIM v2"],"parameters":[{"name":"id","in":"path","description":"ID of the team to retrieve"}],"responses":{"200":{"description":"Team response","schema":{"$ref":"#/definitions/SCIMTeamShow"}}}},"patch":{"summary":"Update Team","description":"Update the team's information using the operations provided.","tags":["SCIM v2"],"parameters":[{"name":"id","in":"path","description":"ID of the team to update"},{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/SCIMPatchCreate","name":"Operations"}}],"responses":{"200":{"description":"Team response","schema":{"properties":{"schemas":{"type":"array","description":"SCIM Schema","default":["urn:ietf:params:scim:schemas:core:2.0:Group"]},"message":{"type":"string","description":"Response message","default":"Successful transaction"}},"required":["message"]}}}},"delete":{"summary":"Deprovision Team","description":"Locks all HackerRank Users belonging to this Team.","tags":["SCIM v2"],"parameters":[{"name":"id","in":"path","type":"string","description":"ID of the Team to lock"}],"responses":{"204":{"description":"Team locked"}}}}},"definitions":{"UserUpdate":{"title":"User","properties":{"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"country":{"type":"string","description":"country of user","default":"U.S.A."},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"shared_questions_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete questions shared with it.","default":0,"enum":[0,1,2,3]},"shared_tests_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete tests shared with it.","default":0,"enum":[0,1,2,3]},"shared_interviews_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete interviews shared with it.","default":0,"enum":[0,1,2,3]},"shared_candidates_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete candidates shared with it.","default":0,"enum":[0,1,2,3]},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not.","default":false},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false}},"required":["firstname","lastname","country","role","phone","questions_permission","tests_permission","interviews_permission","candidates_permission","shared_questions_permission","shared_tests_permission","shared_interviews_permission","shared_candidates_permission","company_admin","team_admin"]},"UserCreate":{"title":"User","properties":{"email":{"type":"string","description":"Email address of user","default":"mark@example.com"},"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"country":{"type":"string","description":"country of user","default":"U.S.A."},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"send_email":{"type":"boolean","description":"Whether to send activation mail to user. Please note that this should be set to false only when you are using SSO to login to HackerRank","default":true},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"shared_questions_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete questions shared with it.","default":0,"enum":[0,1,2,3]},"shared_tests_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete tests shared with it.","default":0,"enum":[0,1,2,3]},"shared_interviews_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete interviews shared with it.","default":0,"enum":[0,1,2,3]},"shared_candidates_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete candidates shared with it.","default":0,"enum":[0,1,2,3]},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not.","default":false},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"teams":{"type":"array","description":"List of teams user belongs to.","items":{"$ref":"#/definitions/UserTeamCreate"}}},"required":["email","firstname","role","teams"]},"UserShow":{"title":"User","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"email":{"type":"string","description":"Email address of user","default":"mark@example.com"},"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"country":{"type":"string","description":"country of user","default":"U.S.A."},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"status":{"type":"string","description":"Current status of user. While querying, by default only active users will be returned","default":"active","enum":["locked","active","all"]},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"timezone":{"type":"string","description":"Timezone of the user","default":"America/New_York"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"shared_questions_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete questions shared with it.","default":0,"enum":[0,1,2,3]},"shared_tests_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete tests shared with it.","default":0,"enum":[0,1,2,3]},"shared_interviews_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete interviews shared with it.","default":0,"enum":[0,1,2,3]},"shared_candidates_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete candidates shared with it.","default":0,"enum":[0,1,2,3]},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not.","default":false},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"teams":{"type":"array","description":"List of teams user belongs to.","items":{"type":"string"},"default":["jia12KNa"],"expandable":true},"activated":{"type":"boolean","description":"Whether the user email is activated or not.","default":false},"last_activity_time":{"type":"dateTime","description":"Timestamp when the user was last active.","default":"2026-10-21T16:59:01+0000"}},"required":["id","email","firstname","lastname","country","role","status","phone","timezone","questions_permission","tests_permission","interviews_permission","candidates_permission","shared_questions_permission","shared_tests_permission","shared_interviews_permission","shared_candidates_permission","company_admin","team_admin","teams","activated","last_activity_time"]},"UserIndex":{"title":"User","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13","filterable":true},"email":{"type":"string","description":"Email address of user","default":"mark@example.com","filterable":true},"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"country":{"type":"string","description":"country of user","default":"U.S.A."},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"],"filterable":true},"status":{"type":"string","description":"Current status of user. While querying, by default only active users will be returned","default":"active","enum":["locked","active","all"],"filterable":true},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"timezone":{"type":"string","description":"Timezone of the user","default":"America/New_York"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"shared_questions_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete questions shared with it.","default":0,"enum":[0,1,2,3]},"shared_tests_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete tests shared with it.","default":0,"enum":[0,1,2,3]},"shared_interviews_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete interviews shared with it.","default":0,"enum":[0,1,2,3]},"shared_candidates_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete candidates shared with it.","default":0,"enum":[0,1,2,3]},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not.","default":false,"filterable":true},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false,"filterable":true},"teams":{"type":"array","description":"List of teams user belongs to.","items":{"type":"string"},"default":["jia12KNa"],"expandable":true,"filterable":true},"activated":{"type":"boolean","description":"Whether the user email is activated or not.","default":false,"filterable":true},"last_activity_time":{"type":"dateTime","description":"Timestamp when the user was last active.","default":"2026-10-21T16:59:01+0000"}},"required":["id","email","firstname","lastname","country","role","status","phone","timezone","questions_permission","tests_permission","interviews_permission","candidates_permission","shared_questions_permission","shared_tests_permission","shared_interviews_permission","shared_candidates_permission","company_admin","team_admin","teams","activated","last_activity_time"]},"UserRef":{"title":"User","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"email":{"type":"string","description":"Email address of user","default":"mark@example.com"},"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"country":{"type":"string","description":"country of user","default":"U.S.A."},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"send_email":{"type":"boolean","description":"Whether to send activation mail to user. Please note that this should be set to false only when you are using SSO to login to HackerRank","default":true},"status":{"type":"string","description":"Current status of user. While querying, by default only active users will be returned","default":"active","enum":["locked","active","all"]},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"timezone":{"type":"string","description":"Timezone of the user","default":"America/New_York"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"shared_questions_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete questions shared with it.","default":0,"enum":[0,1,2,3]},"shared_tests_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete tests shared with it.","default":0,"enum":[0,1,2,3]},"shared_interviews_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete interviews shared with it.","default":0,"enum":[0,1,2,3]},"shared_candidates_permission":{"type":"integer","description":"Whether user has permission to view/edit/delete candidates shared with it.","default":0,"enum":[0,1,2,3]},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not.","default":false},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"activated":{"type":"boolean","description":"Whether the user email is activated or not.","default":false},"last_activity_time":{"type":"dateTime","description":"Timestamp when the user was last active.","default":"2026-10-21T16:59:01+0000"}},"required":["id","email","firstname","lastname","country","role","send_email","status","phone","timezone","questions_permission","tests_permission","interviews_permission","candidates_permission","shared_questions_permission","shared_tests_permission","shared_interviews_permission","shared_candidates_permission","company_admin","team_admin","activated","last_activity_time"]},"SCIMUserEntryUpdate":{"title":"SCIMUserEntry","properties":{"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]}},"required":["name","active","role","team_admin","company_admin","emails"]},"SCIMUserEntryCreate":{"title":"SCIMUserEntry","properties":{"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"userName":{"type":"string","description":"User name of user","default":"mark@example.com"},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]}},"required":["name","userName","emails"]},"SCIMUserEntryShow":{"title":"SCIMUserEntry","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"userName":{"type":"string","description":"User name of user","default":"mark@example.com"},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]}},"required":["id","name","userName","active","role","team_admin","company_admin","emails"]},"SCIMUserEntryIndex":{"title":"SCIMUserEntry","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"userName":{"type":"string","description":"User name of user","default":"mark@example.com"},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]}},"required":["id","name","userName","active","role","team_admin","company_admin","emails"]},"SCIMUserEntryRef":{"title":"SCIMUserEntry","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"userName":{"type":"string","description":"User name of user","default":"mark@example.com"},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]}},"required":["id","name","userName","active","role","team_admin","company_admin","emails"]},"SCIMUserUpdate":{"title":"SCIMUser","properties":{"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]}},"required":["name","active","role","team_admin","company_admin","emails"]},"SCIMUserCreate":{"title":"SCIMUser","properties":{"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"userName":{"type":"string","description":"User name of user","default":"mark@example.com"},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]}},"required":["name","userName","emails"]},"SCIMUserShow":{"title":"SCIMUser","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"userName":{"type":"string","description":"User name of user","default":"mark@example.com"},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]},"schemas":{"type":"array","description":"SCIM Schema","items":{"type":"string"},"default":[]}},"required":["id","name","userName","active","role","team_admin","company_admin","emails","schemas"]},"SCIMUserIndex":{"title":"SCIMUser","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"userName":{"type":"string","description":"User name of user","default":"mark@example.com"},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]},"schemas":{"type":"array","description":"SCIM Schema","items":{"type":"string"},"default":[]}},"required":["id","name","userName","active","role","team_admin","company_admin","emails","schemas"]},"SCIMUserRef":{"title":"SCIMUser","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"name":{"type":"object","description":"Name of the user","default":{"familyName":"Peirson","givenName":"Mark"}},"userName":{"type":"string","description":"User name of user","default":"mark@example.com"},"active":{"type":"boolean","description":"Whether the user is active or not","default":true},"role":{"type":"string","description":"When role is admin, it defaults to recruiter. Role of user","default":"recruiter","enum":["recruiter","developer","interviewer","admin"]},"team_admin":{"type":"boolean","description":"Whether the user is a team admin of the teams that it is a part of.","default":false},"company_admin":{"type":"boolean","description":"Whether the user is a company admin or not","default":false},"emails":{"type":"array","description":"List of user emails","items":{"type":"string"},"default":[{"value":"mark@example.com","primary":true}]},"schemas":{"type":"array","description":"SCIM Schema","items":{"type":"string"},"default":[]}},"required":["id","name","userName","active","role","team_admin","company_admin","emails","schemas"]},"InvitersUpdate":{"title":"Inviters","properties":{"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"candidates_invited":{"type":"integer","description":"Number of candidates invited by the user","default":1}},"required":["firstname","lastname","phone","questions_permission","tests_permission","interviews_permission","candidates_permission","candidates_invited"]},"InvitersCreate":{"title":"Inviters","properties":{"email":{"type":"string","description":"Email address of user","default":"mark@example.com"},"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"send_email":{"type":"boolean","description":"Whether to send activation mail to user. Please note that this should be set to false only when you are using SSO to login to HackerRank","default":true},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"teams":{"type":"array","description":"List of teams user belongs to.","items":{"$ref":"#/definitions/UserTeamCreate"}},"candidates_invited":{"type":"integer","description":"Number of candidates invited by the user","default":1}},"required":["email","firstname","questions_permission","tests_permission","interviews_permission","candidates_permission","teams","candidates_invited"]},"InvitersShow":{"title":"Inviters","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"email":{"type":"string","description":"Email address of user","default":"mark@example.com"},"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"role":{"type":"string","description":"Role of user","default":"recruiter","enum":["recruiter","developer","admin"]},"status":{"type":"string","description":"Current status of user. While querying, by default only active users will be returned","default":"active","enum":["locked","active","all"]},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"timezone":{"type":"string","description":"Timezone of the user","default":"America/New_York"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"teams":{"type":"array","description":"List of teams user belongs to.","items":{"type":"string"},"default":["jia12KNa"],"expandable":true},"candidates_invited":{"type":"integer","description":"Number of candidates invited by the user","default":1},"activated":{"type":"boolean","description":"Whether the user email is activated or not.","default":false}},"required":["id","email","firstname","lastname","role","status","phone","timezone","questions_permission","tests_permission","interviews_permission","candidates_permission","teams","candidates_invited","activated"]},"InvitersIndex":{"title":"Inviters","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13","filterable":true},"email":{"type":"string","description":"Email address of user","default":"mark@example.com","filterable":true},"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"role":{"type":"string","description":"Role of user","default":"recruiter","enum":["recruiter","developer","admin"],"filterable":true},"status":{"type":"string","description":"Current status of user. While querying, by default only active users will be returned","default":"active","enum":["locked","active","all"],"filterable":true},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"timezone":{"type":"string","description":"Timezone of the user","default":"America/New_York"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"teams":{"type":"array","description":"List of teams user belongs to.","items":{"type":"string"},"default":["jia12KNa"],"expandable":true},"candidates_invited":{"type":"integer","description":"Number of candidates invited by the user","default":1},"activated":{"type":"boolean","description":"Whether the user email is activated or not.","default":false,"filterable":true}},"required":["id","email","firstname","lastname","role","status","phone","timezone","questions_permission","tests_permission","interviews_permission","candidates_permission","teams","candidates_invited","activated"]},"InvitersRef":{"title":"Inviters","properties":{"id":{"type":"string","description":"ID of the user","default":"jox1JH13"},"email":{"type":"string","description":"Email address of user","default":"mark@example.com"},"firstname":{"type":"string","description":"First name of user","default":"Mark"},"lastname":{"type":"string","description":"last name of user","default":"Peirson"},"role":{"type":"string","description":"Role of user","default":"recruiter","enum":["recruiter","developer","admin"]},"send_email":{"type":"boolean","description":"Whether to send activation mail to user. Please note that this should be set to false only when you are using SSO to login to HackerRank","default":true},"status":{"type":"string","description":"Current status of user. While querying, by default only active users will be returned","default":"active","enum":["locked","active","all"]},"phone":{"type":"string","description":"Phone number of the user","default":"+1-202-28490"},"timezone":{"type":"string","description":"Timezone of the user","default":"America/New_York"},"questions_permission":{"type":"integer","description":"Whether user has permission to create questions","default":3,"enum":[0,3]},"tests_permission":{"type":"integer","description":"Whether user has permission to create tests","default":3,"enum":[0,3]},"interviews_permission":{"type":"integer","description":"Whether user has permission to create interviews","default":3,"enum":[0,3]},"candidates_permission":{"type":"integer","description":"Whether user has permission to create candidates","default":3,"enum":[0,3]},"candidates_invited":{"type":"integer","description":"Number of candidates invited by the user","default":1},"activated":{"type":"boolean","description":"Whether the user email is activated or not.","default":false}},"required":["id","email","firstname","lastname","role","send_email","status","phone","timezone","questions_permission","tests_permission","interviews_permission","candidates_permission","candidates_invited","activated"]},"SCIMTeamEntryUpdate":{"title":"SCIMTeamEntry","properties":{"diplayName":{"type":"string","description":"Name of the team","default":"Owners"}},"required":["diplayName"]},"SCIMTeamEntryCreate":{"title":"SCIMTeamEntry","properties":{"diplayName":{"type":"string","description":"Name of the team","default":"Owners"}},"required":["diplayName"]},"SCIMTeamEntryShow":{"title":"SCIMTeamEntry","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071"},"diplayName":{"type":"string","description":"Name of the team","default":"Owners"}},"required":["id","diplayName"]},"SCIMTeamEntryIndex":{"title":"SCIMTeamEntry","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071"},"diplayName":{"type":"string","description":"Name of the team","default":"Owners"}},"required":["id","diplayName"]},"SCIMTeamEntryRef":{"title":"SCIMTeamEntry","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071"},"diplayName":{"type":"string","description":"Name of the team","default":"Owners"}},"required":["id","diplayName"]},"SCIMTeamUpdate":{"title":"SCIMTeam","properties":{"diplayName":{"type":"string","description":"Name of the team","default":"Owners"}},"required":["diplayName"]},"SCIMTeamCreate":{"title":"SCIMTeam","properties":{"diplayName":{"type":"string","description":"Name of the team","default":"Owners"}},"required":["diplayName"]},"SCIMTeamShow":{"title":"SCIMTeam","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071"},"diplayName":{"type":"string","description":"Name of the team","default":"Owners"},"schemas":{"type":"array","description":"SCIM Schema","items":{"type":"string"},"default":["urn:ietf:params:scim:schemas:core:2.0:Group"]}},"required":["id","diplayName","schemas"]},"SCIMTeamIndex":{"title":"SCIMTeam","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071"},"diplayName":{"type":"string","description":"Name of the team","default":"Owners"},"schemas":{"type":"array","description":"SCIM Schema","items":{"type":"string"},"default":["urn:ietf:params:scim:schemas:core:2.0:Group"]}},"required":["id","diplayName","schemas"]},"SCIMTeamRef":{"title":"SCIMTeam","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071"},"diplayName":{"type":"string","description":"Name of the team","default":"Owners"},"schemas":{"type":"array","description":"SCIM Schema","items":{"type":"string"},"default":["urn:ietf:params:scim:schemas:core:2.0:Group"]}},"required":["id","diplayName","schemas"]},"TeamUpdate":{"title":"Team","properties":{"name":{"type":"string","description":"Name of the team","default":"Owners"},"recruiter_cap":{"type":"integer","description":"Limit of recruiters of this team","default":3},"developer_cap":{"type":"integer","description":"Limit of developers of this team","default":2},"invite_as":{"type":"string","description":"The display name for invite emails sent to candidates","default":"HackerRank Tech Team"},"locations":{"type":"array","description":"Locations of this team","items":{"type":"string"},"default":["New York","Boston"]},"departments":{"type":"array","description":"Departments of developers of this team","items":{"type":"string"},"default":["HR","Technology"]}},"required":["name","recruiter_cap","developer_cap","invite_as","locations","departments"]},"TeamCreate":{"title":"Team","properties":{"name":{"type":"string","description":"Name of the team","default":"Owners"},"recruiter_cap":{"type":"integer","description":"Limit of recruiters of this team","default":3},"developer_cap":{"type":"integer","description":"Limit of developers of this team","default":2},"invite_as":{"type":"string","description":"The display name for invite emails sent to candidates","default":"HackerRank Tech Team"},"locations":{"type":"array","description":"Locations of this team","items":{"type":"string"},"default":["New York","Boston"]},"departments":{"type":"array","description":"Departments of developers of this team","items":{"type":"string"},"default":["HR","Technology"]}},"required":["name"]},"TeamShow":{"title":"Team","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071"},"name":{"type":"string","description":"Name of the team","default":"Owners"},"owner":{"type":"string","description":"User who created this team","default":"fb0a3f2b430a","expandable":true},"created_at":{"type":"dateTime","description":"Timestamp at which this team is created","default":"2026-10-21T16:59:01+0000"},"recruiter_count":{"type":"integer","description":"Count of recruiters of this team","default":1},"developer_count":{"type":"integer","description":"Count of developers of this team","default":1},"recruiter_cap":{"type":"integer","description":"Limit of recruiters of this team","default":3},"developer_cap":{"type":"integer","description":"Limit of developers of this team","default":2},"invite_as":{"type":"string","description":"The display name for invite emails sent to candidates","default":"HackerRank Tech Team"},"locations":{"type":"array","description":"Locations of this team","items":{"type":"string"},"default":["New York","Boston"]},"departments":{"type":"array","description":"Departments of developers of this team","items":{"type":"string"},"default":["HR","Technology"]}},"required":["id","name","owner","created_at","recruiter_count","developer_count","recruiter_cap","developer_cap","invite_as","locations","departments"]},"TeamIndex":{"title":"Team","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071","filterable":true},"name":{"type":"string","description":"Name of the team","default":"Owners"},"owner":{"type":"string","description":"User who created this team","default":"fb0a3f2b430a","expandable":true},"created_at":{"type":"dateTime","description":"Timestamp at which this team is created","default":"2026-10-21T16:59:01+0000"},"recruiter_count":{"type":"integer","description":"Count of recruiters of this team","default":1},"developer_count":{"type":"integer","description":"Count of developers of this team","default":1},"recruiter_cap":{"type":"integer","description":"Limit of recruiters of this team","default":3},"developer_cap":{"type":"integer","description":"Limit of developers of this team","default":2},"invite_as":{"type":"string","description":"The display name for invite emails sent to candidates","default":"HackerRank Tech Team"},"locations":{"type":"array","description":"Locations of this team","items":{"type":"string"},"default":["New York","Boston"]},"departments":{"type":"array","description":"Departments of developers of this team","items":{"type":"string"},"default":["HR","Technology"]}},"required":["id","name","owner","created_at","recruiter_count","developer_count","recruiter_cap","developer_cap","invite_as","locations","departments"]},"TeamRef":{"title":"Team","properties":{"id":{"type":"string","description":"ID of the team","default":"14bd8ec8b071"},"name":{"type":"string","description":"Name of the team","default":"Owners"},"created_at":{"type":"dateTime","description":"Timestamp at which this team is created","default":"2026-10-21T16:59:01+0000"},"recruiter_count":{"type":"integer","description":"Count of recruiters of this team","default":1},"developer_count":{"type":"integer","description":"Count of developers of this team","default":1},"recruiter_cap":{"type":"integer","description":"Limit of recruiters of this team","default":3},"developer_cap":{"type":"integer","description":"Limit of developers of this team","default":2},"invite_as":{"type":"string","description":"The display name for invite emails sent to candidates","default":"HackerRank Tech Team"},"locations":{"type":"array","description":"Locations of this team","items":{"type":"string"},"default":["New York","Boston"]},"departments":{"type":"array","description":"Departments of developers of this team","items":{"type":"string"},"default":["HR","Technology"]}},"required":["id","name","created_at","recruiter_count","developer_count","recruiter_cap","developer_cap","invite_as","locations","departments"]},"UserTeamMembershipUpdate":{"title":"UserTeamMembership","required":[]},"UserTeamMembershipCreate":{"title":"UserTeamMembership","required":[]},"UserTeamMembershipShow":{"title":"UserTeamMembership","properties":{"team":{"type":"string","description":"Id of the team","default":"09a38d2bd70a","expandable":true},"user":{"type":"string","description":"Id of user who belongs to this team","default":"01kmimas1","expandable":true}},"required":["team","user"]},"UserTeamMembershipIndex":{"title":"UserTeamMembership","properties":{"team":{"type":"string","description":"Id of the team","default":"09a38d2bd70a","expandable":true},"user":{"type":"string","description":"Id of user who belongs to this team","default":"01kmimas1","expandable":true}},"required":["team","user"]},"UserTeamMembershipRef":{"title":"UserTeamMembership","required":[]},"TestsUpdate":{"title":"Tests","properties":{"name":{"type":"string","description":"Name of the test.","default":"Java Challenge"},"starttime":{"type":"datetime","description":"If set, then logins before this time will be disabled. Candidates already logged in will not be affected.","default":"2026-10-21T16:59:01+00:00"},"endtime":{"type":"datetime","description":"If set, then logins after this time will be disabled. Candidates who are already logged in will be able to give the test normally even after endtime.","default":"2026-10-28T16:59:01+00:00"},"duration":{"type":"integer","description":"Duration of test in minutes.","default":60},"instructions":{"type":"string","description":"HTML for instructions displayed to candidate in the test login page.","default":"\u003cul\u003e\u003cli\u003ePlease take this challenge in a single sitting\u003c/li\u003e\u003cli\u003eAll the best\u003c/li\u003e"},"locked":{"type":"boolean","description":"Whether this test is locked or not. Locked test cannot be edited, however candidates can be invited to the test.","default":false},"draft":{"type":"boolean","description":"Describes if this test is currently in Draft(\u003ccode\u003etrue\u003c/code\u003e)/Published(\u003ccode\u003efalse\u003c/code\u003e) state. Candidates can only be invited for published tests.","default":true,"enum":[true,false]},"languages":{"type":"array","description":"List of languages available in the test for coding and approximate questions. Note: *null* in this fields means that all languages are enabled","items":{"type":"string"},"default":["java","cpp"]},"candidate_details":{"type":"array","description":"List of details that candidates will be asked to enter before logging into the test. These details will be available in the report view of the test. It should be an \u003cem\u003eArray of JSON\u003c/em\u003e.\u003cbr /\u003e\u003cbr /\u003eList of default fields:[\u003ccode\u003efull_name\u003c/code\u003e, \u003ccode\u003ecity\u003c/code\u003e, \u003ccode\u003ework_experience\u003c/code\u003e, \u003ccode\u003eroll_number\u003c/code\u003e, \u003ccode\u003eemail_address\u003c/code\u003e, \u003ccode\u003eyear_of_graduation\u003c/code\u003e, \u003ccode\u003ecgpa\u003c/code\u003e, \u003ccode\u003euniv\u003c/code\u003e, \u003ccode\u003ephone_number\u003c/code\u003e, \u003ccode\u003econtact_recruiter\u003c/code\u003e, \u003ccode\u003ebranch\u003c/code\u003e, \u003ccode\u003egender\u003c/code\u003e, \u003ccode\u003edegree\u003c/code\u003e, \u003ccode\u003erole\u003c/code\u003e, \u003ccode\u003eresume\u003c/code\u003e, \u003ccode\u003epgdegree\u003c/code\u003e, \u003ccode\u003ecity_graduation\u003c/code\u003e, \u003ccode\u003egpa\u003c/code\u003e, \u003ccode\u003emajor\u003c/code\u003e, \u003ccode\u003elinkedin\u003c/code\u003e]\u003cbr /\u003eFor default fields add field in following way \u003ccode\u003e{predefined_label: 'roll_number', required: true}\u003c/code\u003e in the array. \u003cbr /\u003e\u003cbr /\u003eIf you want to add another field to candidate_details not present in default list, you can add in the following way: \u003cbr /\u003e\u003ccode\u003e{title: 'First Name', required: true, type: 'input'}\u003c/code\u003e. Following are the supported input types: \u003ccode\u003e[input, select, radio, checkbox, file]\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eIn case of input being select, you can send options for select in following way: \u003ccode\u003e{title: 'Age', required: true, type: 'select', options: ['\u003c20', '20-30', '\u003e30']}\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eOrder of candidate_details will be same as order of array","items":{"type":"string"},"default":[{"predefined_label":"full_name","required":true},{"predefined_label":"work_experience","required":true}]},"custom_acknowledge_text":{"type":"string","description":"Candidate will be asked to agree to this text before logging into the test.","default":" I will not consult/copy code from any source including a website, book, or friend/colleague to complete these tests, though may refer language documentation or use an IDE that has code completion features."},"cutoff_score":{"type":"integer","description":"If set, then candidates scoring equal or more than this value will automatically be placed into \"Qualified\" bucket, while candidates scoring less will be placed in \"Failed\" bucket","default":85},"master_password":{"type":"string","description":"If set, candidates can login to the test using this password","default":null},"hide_compile_test":{"type":"boolean","description":"If set to true then candidate will not be able to see compile button for coding and approximate type questions.","default":null},"tags":{"type":"array","description":"List of tags associated with this test","items":{"type":"string"},"default":["Java","Hard","Senior"]},"role_ids":{"type":"array","description":"List of role ids associated with this test.","items":{"type":"string"},"default":["e9861a782033"]},"experience":{"type":"array","description":"Experience levels associated with this test.","items":{"type":"string"},"default":["New Graduate","0-2 years"],"enum":["Intern","New Graduate","0-2 years","2-5 years","\u003e5 years","All Experience Levels"]},"questions":{"type":"array","description":"List of question ids associated with this test.","items":{"type":"string"},"default":null},"mcq_incorrect_score":{"type":"integer","description":"Score to deduct from total score per incorect MCQ question","default":-1},"mcq_correct_score":{"type":"integer","description":"Score to add to total score per correct MCQ question","default":4},"shuffle_questions":{"type":"boolean","description":"If true than questions will be shuffled","default":null},"test_admins":{"type":"array","description":"Test admins will also receive summary report mails when candidate completes a test.","items":{"type":"string"},"default":null},"hide_template":{"type":"boolean","description":"If set to true then head and tail templates will not be shown to candidates.","default":null},"enable_acknowledgement":{"type":"boolean","description":"If set to false, then candidate will not be asked to agree to acknowledgement text.","default":null},"enable_proctoring":{"type":"boolean","description":"If set to true, then this will force the candidate to turn their webcam on before starting the Test.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image Proctoring setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_advanced_proctoring":{"type":"boolean","description":"If set to true, candidate webcam photos are analyzed using AI to detect suspicious activity.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image analysis setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_secure_assessment_mode":{"type":"boolean","description":"If set to true, then this will enable secure mode for the test.This corresponds to Secure mode setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_ml_plagiarism_analysis":{"type":"boolean","description":"If set to true, this detects whether a candidate has received help from an external source.This corresponds to AI Plagiarism setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_photo_identification":{"type":"boolean","description":"If set to true, this requires candidates to take a photo before starting the test.This corresponds to Photo Identification setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"ide_config":{"type":"string","description":"Configure IDE for candidates to solve Front-end, Back-end, and Full-stack questions.\u003cbr /\u003eDefault is set to \u003cstrong\u003eide\u003c/strong\u003e.","default":"ide","enum":["ide_and_git","ide","git"]}},"required":["name","starttime","endtime","duration","instructions","locked","draft","languages","candidate_details","custom_acknowledge_text","cutoff_score","master_password","hide_compile_test","tags","role_ids","experience","questions","mcq_incorrect_score","mcq_correct_score","shuffle_questions","test_admins","hide_template","enable_acknowledgement","enable_proctoring","enable_advanced_proctoring","enable_secure_assessment_mode","enable_ml_plagiarism_analysis","enable_photo_identification","ide_config"]},"TestsCreate":{"title":"Tests","properties":{"name":{"type":"string","description":"Name of the test.","default":"Java Challenge"},"starttime":{"type":"datetime","description":"If set, then logins before this time will be disabled. Candidates already logged in will not be affected.","default":"2026-10-21T16:59:01+00:00"},"endtime":{"type":"datetime","description":"If set, then logins after this time will be disabled. Candidates who are already logged in will be able to give the test normally even after endtime.","default":"2026-10-28T16:59:01+00:00"},"duration":{"type":"integer","description":"Duration of test in minutes.","default":60},"instructions":{"type":"string","description":"HTML for instructions displayed to candidate in the test login page.","default":"\u003cul\u003e\u003cli\u003ePlease take this challenge in a single sitting\u003c/li\u003e\u003cli\u003eAll the best\u003c/li\u003e"},"locked":{"type":"boolean","description":"Whether this test is locked or not. Locked test cannot be edited, however candidates can be invited to the test.","default":false},"draft":{"type":"boolean","description":"Describes if this test is currently in Draft(\u003ccode\u003etrue\u003c/code\u003e)/Published(\u003ccode\u003efalse\u003c/code\u003e) state. Candidates can only be invited for published tests.","default":true,"enum":[true,false]},"languages":{"type":"array","description":"List of languages available in the test for coding and approximate questions. Note: *null* in this fields means that all languages are enabled","items":{"type":"string"},"default":["java","cpp"]},"candidate_details":{"type":"array","description":"List of details that candidates will be asked to enter before logging into the test. These details will be available in the report view of the test. It should be an \u003cem\u003eArray of JSON\u003c/em\u003e.\u003cbr /\u003e\u003cbr /\u003eList of default fields:[\u003ccode\u003efull_name\u003c/code\u003e, \u003ccode\u003ecity\u003c/code\u003e, \u003ccode\u003ework_experience\u003c/code\u003e, \u003ccode\u003eroll_number\u003c/code\u003e, \u003ccode\u003eemail_address\u003c/code\u003e, \u003ccode\u003eyear_of_graduation\u003c/code\u003e, \u003ccode\u003ecgpa\u003c/code\u003e, \u003ccode\u003euniv\u003c/code\u003e, \u003ccode\u003ephone_number\u003c/code\u003e, \u003ccode\u003econtact_recruiter\u003c/code\u003e, \u003ccode\u003ebranch\u003c/code\u003e, \u003ccode\u003egender\u003c/code\u003e, \u003ccode\u003edegree\u003c/code\u003e, \u003ccode\u003erole\u003c/code\u003e, \u003ccode\u003eresume\u003c/code\u003e, \u003ccode\u003epgdegree\u003c/code\u003e, \u003ccode\u003ecity_graduation\u003c/code\u003e, \u003ccode\u003egpa\u003c/code\u003e, \u003ccode\u003emajor\u003c/code\u003e, \u003ccode\u003elinkedin\u003c/code\u003e]\u003cbr /\u003eFor default fields add field in following way \u003ccode\u003e{predefined_label: 'roll_number', required: true}\u003c/code\u003e in the array. \u003cbr /\u003e\u003cbr /\u003eIf you want to add another field to candidate_details not present in default list, you can add in the following way: \u003cbr /\u003e\u003ccode\u003e{title: 'First Name', required: true, type: 'input'}\u003c/code\u003e. Following are the supported input types: \u003ccode\u003e[input, select, radio, checkbox, file]\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eIn case of input being select, you can send options for select in following way: \u003ccode\u003e{title: 'Age', required: true, type: 'select', options: ['\u003c20', '20-30', '\u003e30']}\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eOrder of candidate_details will be same as order of array","items":{"type":"string"},"default":[{"predefined_label":"full_name","required":true},{"predefined_label":"work_experience","required":true}]},"custom_acknowledge_text":{"type":"string","description":"Candidate will be asked to agree to this text before logging into the test.","default":" I will not consult/copy code from any source including a website, book, or friend/colleague to complete these tests, though may refer language documentation or use an IDE that has code completion features."},"cutoff_score":{"type":"integer","description":"If set, then candidates scoring equal or more than this value will automatically be placed into \"Qualified\" bucket, while candidates scoring less will be placed in \"Failed\" bucket","default":85},"master_password":{"type":"string","description":"If set, candidates can login to the test using this password","default":null},"hide_compile_test":{"type":"boolean","description":"If set to true then candidate will not be able to see compile button for coding and approximate type questions.","default":null},"tags":{"type":"array","description":"List of tags associated with this test","items":{"type":"string"},"default":["Java","Hard","Senior"]},"role_ids":{"type":"array","description":"List of role ids associated with this test.","items":{"type":"string"},"default":["e9861a782033"]},"experience":{"type":"array","description":"Experience levels associated with this test.","items":{"type":"string"},"default":["New Graduate","0-2 years"],"enum":["Intern","New Graduate","0-2 years","2-5 years","\u003e5 years","All Experience Levels"]},"questions":{"type":"array","description":"List of question ids associated with this test.","items":{"type":"string"},"default":null},"mcq_incorrect_score":{"type":"integer","description":"Score to deduct from total score per incorect MCQ question","default":-1},"mcq_correct_score":{"type":"integer","description":"Score to add to total score per correct MCQ question","default":4},"shuffle_questions":{"type":"boolean","description":"If true than questions will be shuffled","default":null},"test_admins":{"type":"array","description":"Test admins will also receive summary report mails when candidate completes a test.","items":{"type":"string"},"default":null},"hide_template":{"type":"boolean","description":"If set to true then head and tail templates will not be shown to candidates.","default":null},"enable_acknowledgement":{"type":"boolean","description":"If set to false, then candidate will not be asked to agree to acknowledgement text.","default":null},"enable_proctoring":{"type":"boolean","description":"If set to true, then this will force the candidate to turn their webcam on before starting the Test.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image Proctoring setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_advanced_proctoring":{"type":"boolean","description":"If set to true, candidate webcam photos are analyzed using AI to detect suspicious activity.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image analysis setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_secure_assessment_mode":{"type":"boolean","description":"If set to true, then this will enable secure mode for the test.This corresponds to Secure mode setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_ml_plagiarism_analysis":{"type":"boolean","description":"If set to true, this detects whether a candidate has received help from an external source.This corresponds to AI Plagiarism setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_photo_identification":{"type":"boolean","description":"If set to true, this requires candidates to take a photo before starting the test.This corresponds to Photo Identification setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"ide_config":{"type":"string","description":"Configure IDE for candidates to solve Front-end, Back-end, and Full-stack questions.\u003cbr /\u003eDefault is set to \u003cstrong\u003eide\u003c/strong\u003e.","default":"ide","enum":["ide_and_git","ide","git"]}},"required":["name","duration","role_ids","experience"]},"TestsShow":{"title":"Tests","properties":{"id":{"type":"string","description":"ID of the test","default":"1PxfG1348"},"unique_id":{"type":"string","description":"Candidate facing ID of the test","default":"pxJk121"},"name":{"type":"string","description":"Name of the test.","default":"Java Challenge"},"starttime":{"type":"datetime","description":"If set, then logins before this time will be disabled. Candidates already logged in will not be affected.","default":"2026-10-21T16:59:01+0000"},"endtime":{"type":"datetime","description":"If set, then logins after this time will be disabled. Candidates who are already logged in will be able to give the test normally even after endtime.","default":"2026-10-28T16:59:01+0000"},"duration":{"type":"integer","description":"Duration of test in minutes.","default":60},"owner":{"type":"string","description":"User who created this test.","default":"p12xLmj23","expandable":true},"instructions":{"type":"string","description":"HTML for instructions displayed to candidate in the test login page.","default":"\u003cul\u003e\u003cli\u003ePlease take this challenge in a single sitting\u003c/li\u003e\u003cli\u003eAll the best\u003c/li\u003e"},"starred":{"type":"boolean","description":"Whether this test has been 'starred' by the user of the api","default":true},"created_at":{"type":"dateTime","description":"Timestamp when this test was created","default":"2026-10-21T16:59:01+0000"},"state":{"type":"string","description":"Current state of the test","default":"active","enum":["active","archived"]},"locked":{"type":"boolean","description":"Whether this test is locked or not. Locked test cannot be edited, however candidates can be invited to the test.","default":false},"draft":{"type":"boolean","description":"Describes if this test is currently in Draft(\u003ccode\u003etrue\u003c/code\u003e)/Published(\u003ccode\u003efalse\u003c/code\u003e) state. Candidates can only be invited for published tests.","default":true,"enum":[true,false]},"languages":{"type":"array","description":"List of languages available in the test for coding and approximate questions. Note: *null* in this fields means that all languages are enabled","items":{"type":"string"},"default":["java","cpp"],"additional":true},"candidate_details":{"type":"array","description":"List of details that candidates will be asked to enter before logging into the test. These details will be available in the report view of the test. It should be an \u003cem\u003eArray of JSON\u003c/em\u003e.\u003cbr /\u003e\u003cbr /\u003eList of default fields:[\u003ccode\u003efull_name\u003c/code\u003e, \u003ccode\u003ecity\u003c/code\u003e, \u003ccode\u003ework_experience\u003c/code\u003e, \u003ccode\u003eroll_number\u003c/code\u003e, \u003ccode\u003eemail_address\u003c/code\u003e, \u003ccode\u003eyear_of_graduation\u003c/code\u003e, \u003ccode\u003ecgpa\u003c/code\u003e, \u003ccode\u003euniv\u003c/code\u003e, \u003ccode\u003ephone_number\u003c/code\u003e, \u003ccode\u003econtact_recruiter\u003c/code\u003e, \u003ccode\u003ebranch\u003c/code\u003e, \u003ccode\u003egender\u003c/code\u003e, \u003ccode\u003edegree\u003c/code\u003e, \u003ccode\u003erole\u003c/code\u003e, \u003ccode\u003eresume\u003c/code\u003e, \u003ccode\u003epgdegree\u003c/code\u003e, \u003ccode\u003ecity_graduation\u003c/code\u003e, \u003ccode\u003egpa\u003c/code\u003e, \u003ccode\u003emajor\u003c/code\u003e, \u003ccode\u003elinkedin\u003c/code\u003e]\u003cbr /\u003eFor default fields add field in following way \u003ccode\u003e{predefined_label: 'roll_number', required: true}\u003c/code\u003e in the array. \u003cbr /\u003e\u003cbr /\u003eIf you want to add another field to candidate_details not present in default list, you can add in the following way: \u003cbr /\u003e\u003ccode\u003e{title: 'First Name', required: true, type: 'input'}\u003c/code\u003e. Following are the supported input types: \u003ccode\u003e[input, select, radio, checkbox, file]\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eIn case of input being select, you can send options for select in following way: \u003ccode\u003e{title: 'Age', required: true, type: 'select', options: ['\u003c20', '20-30', '\u003e30']}\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eOrder of candidate_details will be same as order of array","items":{"type":"string"},"default":[{"predefined_label":"full_name","required":true},{"predefined_label":"work_experience","required":true}],"additional":true},"custom_acknowledge_text":{"type":"string","description":"Candidate will be asked to agree to this text before logging into the test.","default":" I will not consult/copy code from any source including a website, book, or friend/colleague to complete these tests, though may refer language documentation or use an IDE that has code completion features.","additional":true},"cutoff_score":{"type":"integer","description":"If set, then candidates scoring equal or more than this value will automatically be placed into \"Qualified\" bucket, while candidates scoring less will be placed in \"Failed\" bucket","default":85,"additional":true},"master_password":{"type":"string","description":"If set, candidates can login to the test using this password","default":null,"additional":true},"hide_compile_test":{"type":"boolean","description":"If set to true then candidate will not be able to see compile button for coding and approximate type questions.","default":null,"additional":true},"tags":{"type":"array","description":"List of tags associated with this test","items":{"type":"string"},"default":["Java","Hard","Senior"]},"role_ids":{"type":"array","description":"List of role ids associated with this test.","items":{"type":"string"},"default":["e9861a782033"]},"experience":{"type":"array","description":"Experience levels associated with this test.","items":{"type":"string"},"default":["New Graduate","0-2 years"],"enum":["Intern","New Graduate","0-2 years","2-5 years","\u003e5 years","All Experience Levels"]},"questions":{"type":"array","description":"List of question ids associated with this test.","items":{"type":"string"},"default":null},"sections":{"type":"object","description":"Section slot data for the test.","default":null},"mcq_incorrect_score":{"type":"integer","description":"Score to deduct from total score per incorect MCQ question","default":-1,"additional":true},"mcq_correct_score":{"type":"integer","description":"Score to add to total score per correct MCQ question","default":4,"additional":true},"locked_by":{"type":"string","description":"User who locked this test (if any).","default":null,"expandable":true,"additional":true},"short_login_url":{"type":"string","description":"Login URL for the test. This requires master password to be setup for test.","default":null,"additional":true},"public_login_url":{"type":"string","description":"Public login URL for the test. This URL do not require a password.","default":null,"additional":true},"shuffle_questions":{"type":"boolean","description":"If true than questions will be shuffled","default":null,"additional":true},"test_admins":{"type":"array","description":"Test admins will also receive summary report mails when candidate completes a test.","items":{"type":"string"},"default":null,"additional":true},"hide_template":{"type":"boolean","description":"If set to true then head and tail templates will not be shown to candidates.","default":null,"additional":true},"enable_acknowledgement":{"type":"boolean","description":"If set to false, then candidate will not be asked to agree to acknowledgement text.","default":null,"additional":true},"enable_proctoring":{"type":"boolean","description":"If set to true, then this will force the candidate to turn their webcam on before starting the Test.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image Proctoring setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"enable_advanced_proctoring":{"type":"boolean","description":"If set to true, candidate webcam photos are analyzed using AI to detect suspicious activity.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image analysis setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"enable_secure_assessment_mode":{"type":"boolean","description":"If set to true, then this will enable secure mode for the test.This corresponds to Secure mode setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"enable_ml_plagiarism_analysis":{"type":"boolean","description":"If set to true, this detects whether a candidate has received help from an external source.This corresponds to AI Plagiarism setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"enable_photo_identification":{"type":"boolean","description":"If set to true, this requires candidates to take a photo before starting the test.This corresponds to Photo Identification setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"ide_config":{"type":"string","description":"Configure IDE for candidates to solve Front-end, Back-end, and Full-stack questions.\u003cbr /\u003eDefault is set to \u003cstrong\u003eide\u003c/strong\u003e.","default":"ide","enum":["ide_and_git","ide","git"],"additional":true}},"required":["id","unique_id","name","starttime","endtime","duration","owner","instructions","starred","created_at","state","locked","draft","languages","candidate_details","custom_acknowledge_text","cutoff_score","master_password","hide_compile_test","tags","role_ids","experience","questions","sections","mcq_incorrect_score","mcq_correct_score","locked_by","short_login_url","public_login_url","shuffle_questions","test_admins","hide_template","enable_acknowledgement","enable_proctoring","enable_advanced_proctoring","enable_secure_assessment_mode","enable_ml_plagiarism_analysis","enable_photo_identification","ide_config"]},"TestsIndex":{"title":"Tests","properties":{"id":{"type":"string","description":"ID of the test","default":"1PxfG1348"},"unique_id":{"type":"string","description":"Candidate facing ID of the test","default":"pxJk121"},"name":{"type":"string","description":"Name of the test.","default":"Java Challenge"},"starttime":{"type":"datetime","description":"If set, then logins before this time will be disabled. Candidates already logged in will not be affected.","default":"2026-10-21T16:59:01+0000"},"endtime":{"type":"datetime","description":"If set, then logins after this time will be disabled. Candidates who are already logged in will be able to give the test normally even after endtime.","default":"2026-10-28T16:59:01+0000"},"duration":{"type":"integer","description":"Duration of test in minutes.","default":60},"owner":{"type":"string","description":"User who created this test.","default":"p12xLmj23","expandable":true},"instructions":{"type":"string","description":"HTML for instructions displayed to candidate in the test login page.","default":"\u003cul\u003e\u003cli\u003ePlease take this challenge in a single sitting\u003c/li\u003e\u003cli\u003eAll the best\u003c/li\u003e"},"starred":{"type":"boolean","description":"Whether this test has been 'starred' by the user of the api","default":true},"created_at":{"type":"dateTime","description":"Timestamp when this test was created","default":"2026-10-21T16:59:01+0000"},"state":{"type":"string","description":"Current state of the test","default":"active","enum":["active","archived"],"filterable":true},"locked":{"type":"boolean","description":"Whether this test is locked or not. Locked test cannot be edited, however candidates can be invited to the test.","default":false},"draft":{"type":"boolean","description":"Describes if this test is currently in Draft(\u003ccode\u003etrue\u003c/code\u003e)/Published(\u003ccode\u003efalse\u003c/code\u003e) state. Candidates can only be invited for published tests.","default":true,"enum":[true,false]},"languages":{"type":"array","description":"List of languages available in the test for coding and approximate questions. Note: *null* in this fields means that all languages are enabled","items":{"type":"string"},"default":["java","cpp"],"additional":true},"candidate_details":{"type":"array","description":"List of details that candidates will be asked to enter before logging into the test. These details will be available in the report view of the test. It should be an \u003cem\u003eArray of JSON\u003c/em\u003e.\u003cbr /\u003e\u003cbr /\u003eList of default fields:[\u003ccode\u003efull_name\u003c/code\u003e, \u003ccode\u003ecity\u003c/code\u003e, \u003ccode\u003ework_experience\u003c/code\u003e, \u003ccode\u003eroll_number\u003c/code\u003e, \u003ccode\u003eemail_address\u003c/code\u003e, \u003ccode\u003eyear_of_graduation\u003c/code\u003e, \u003ccode\u003ecgpa\u003c/code\u003e, \u003ccode\u003euniv\u003c/code\u003e, \u003ccode\u003ephone_number\u003c/code\u003e, \u003ccode\u003econtact_recruiter\u003c/code\u003e, \u003ccode\u003ebranch\u003c/code\u003e, \u003ccode\u003egender\u003c/code\u003e, \u003ccode\u003edegree\u003c/code\u003e, \u003ccode\u003erole\u003c/code\u003e, \u003ccode\u003eresume\u003c/code\u003e, \u003ccode\u003epgdegree\u003c/code\u003e, \u003ccode\u003ecity_graduation\u003c/code\u003e, \u003ccode\u003egpa\u003c/code\u003e, \u003ccode\u003emajor\u003c/code\u003e, \u003ccode\u003elinkedin\u003c/code\u003e]\u003cbr /\u003eFor default fields add field in following way \u003ccode\u003e{predefined_label: 'roll_number', required: true}\u003c/code\u003e in the array. \u003cbr /\u003e\u003cbr /\u003eIf you want to add another field to candidate_details not present in default list, you can add in the following way: \u003cbr /\u003e\u003ccode\u003e{title: 'First Name', required: true, type: 'input'}\u003c/code\u003e. Following are the supported input types: \u003ccode\u003e[input, select, radio, checkbox, file]\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eIn case of input being select, you can send options for select in following way: \u003ccode\u003e{title: 'Age', required: true, type: 'select', options: ['\u003c20', '20-30', '\u003e30']}\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eOrder of candidate_details will be same as order of array","items":{"type":"string"},"default":[{"predefined_label":"full_name","required":true},{"predefined_label":"work_experience","required":true}],"additional":true},"custom_acknowledge_text":{"type":"string","description":"Candidate will be asked to agree to this text before logging into the test.","default":" I will not consult/copy code from any source including a website, book, or friend/colleague to complete these tests, though may refer language documentation or use an IDE that has code completion features.","additional":true},"cutoff_score":{"type":"integer","description":"If set, then candidates scoring equal or more than this value will automatically be placed into \"Qualified\" bucket, while candidates scoring less will be placed in \"Failed\" bucket","default":85,"additional":true},"master_password":{"type":"string","description":"If set, candidates can login to the test using this password","default":null,"additional":true},"hide_compile_test":{"type":"boolean","description":"If set to true then candidate will not be able to see compile button for coding and approximate type questions.","default":null,"additional":true},"tags":{"type":"array","description":"List of tags associated with this test","items":{"type":"string"},"default":["Java","Hard","Senior"],"filterable":true},"role_ids":{"type":"array","description":"List of role ids associated with this test.","items":{"type":"string"},"default":["e9861a782033"]},"experience":{"type":"array","description":"Experience levels associated with this test.","items":{"type":"string"},"default":["New Graduate","0-2 years"],"enum":["Intern","New Graduate","0-2 years","2-5 years","\u003e5 years","All Experience Levels"]},"questions":{"type":"array","description":"List of question ids associated with this test.","items":{"type":"string"},"default":null},"sections":{"type":"object","description":"Section slot data for the test.","default":null},"mcq_incorrect_score":{"type":"integer","description":"Score to deduct from total score per incorect MCQ question","default":-1,"additional":true},"mcq_correct_score":{"type":"integer","description":"Score to add to total score per correct MCQ question","default":4,"additional":true},"locked_by":{"type":"string","description":"User who locked this test (if any).","default":null,"expandable":true,"additional":true},"short_login_url":{"type":"string","description":"Login URL for the test. This requires master password to be setup for test.","default":null,"additional":true},"public_login_url":{"type":"string","description":"Public login URL for the test. This URL do not require a password.","default":null,"additional":true},"shuffle_questions":{"type":"boolean","description":"If true than questions will be shuffled","default":null,"additional":true},"test_admins":{"type":"array","description":"Test admins will also receive summary report mails when candidate completes a test.","items":{"type":"string"},"default":null,"additional":true},"hide_template":{"type":"boolean","description":"If set to true then head and tail templates will not be shown to candidates.","default":null,"additional":true},"enable_acknowledgement":{"type":"boolean","description":"If set to false, then candidate will not be asked to agree to acknowledgement text.","default":null,"additional":true},"enable_proctoring":{"type":"boolean","description":"If set to true, then this will force the candidate to turn their webcam on before starting the Test.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image Proctoring setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"enable_advanced_proctoring":{"type":"boolean","description":"If set to true, candidate webcam photos are analyzed using AI to detect suspicious activity.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image analysis setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"enable_secure_assessment_mode":{"type":"boolean","description":"If set to true, then this will enable secure mode for the test.This corresponds to Secure mode setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"enable_ml_plagiarism_analysis":{"type":"boolean","description":"If set to true, this detects whether a candidate has received help from an external source.This corresponds to AI Plagiarism setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"enable_photo_identification":{"type":"boolean","description":"If set to true, this requires candidates to take a photo before starting the test.This corresponds to Photo Identification setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false,"additional":true},"ide_config":{"type":"string","description":"Configure IDE for candidates to solve Front-end, Back-end, and Full-stack questions.\u003cbr /\u003eDefault is set to \u003cstrong\u003eide\u003c/strong\u003e.","default":"ide","enum":["ide_and_git","ide","git"],"additional":true}},"required":["id","unique_id","name","starttime","endtime","duration","owner","instructions","starred","created_at","state","locked","draft","languages","candidate_details","custom_acknowledge_text","cutoff_score","master_password","hide_compile_test","tags","role_ids","experience","questions","sections","mcq_incorrect_score","mcq_correct_score","locked_by","short_login_url","public_login_url","shuffle_questions","test_admins","hide_template","enable_acknowledgement","enable_proctoring","enable_advanced_proctoring","enable_secure_assessment_mode","enable_ml_plagiarism_analysis","enable_photo_identification","ide_config"]},"TestsRef":{"title":"Tests","properties":{"id":{"type":"string","description":"ID of the test","default":"1PxfG1348"},"unique_id":{"type":"string","description":"Candidate facing ID of the test","default":"pxJk121"},"name":{"type":"string","description":"Name of the test.","default":"Java Challenge"},"starttime":{"type":"datetime","description":"If set, then logins before this time will be disabled. Candidates already logged in will not be affected.","default":"2026-10-21T16:59:01+0000"},"endtime":{"type":"datetime","description":"If set, then logins after this time will be disabled. Candidates who are already logged in will be able to give the test normally even after endtime.","default":"2026-10-28T16:59:01+0000"},"duration":{"type":"integer","description":"Duration of test in minutes.","default":60},"instructions":{"type":"string","description":"HTML for instructions displayed to candidate in the test login page.","default":"\u003cul\u003e\u003cli\u003ePlease take this challenge in a single sitting\u003c/li\u003e\u003cli\u003eAll the best\u003c/li\u003e"},"starred":{"type":"boolean","description":"Whether this test has been 'starred' by the user of the api","default":true},"created_at":{"type":"dateTime","description":"Timestamp when this test was created","default":"2026-10-21T16:59:01+0000"},"state":{"type":"string","description":"Current state of the test","default":"active","enum":["active","archived"]},"locked":{"type":"boolean","description":"Whether this test is locked or not. Locked test cannot be edited, however candidates can be invited to the test.","default":false},"draft":{"type":"boolean","description":"Describes if this test is currently in Draft(\u003ccode\u003etrue\u003c/code\u003e)/Published(\u003ccode\u003efalse\u003c/code\u003e) state. Candidates can only be invited for published tests.","default":true,"enum":[true,false]},"languages":{"type":"array","description":"List of languages available in the test for coding and approximate questions. Note: *null* in this fields means that all languages are enabled","items":{"type":"string"},"default":["java","cpp"]},"candidate_details":{"type":"array","description":"List of details that candidates will be asked to enter before logging into the test. These details will be available in the report view of the test. It should be an \u003cem\u003eArray of JSON\u003c/em\u003e.\u003cbr /\u003e\u003cbr /\u003eList of default fields:[\u003ccode\u003efull_name\u003c/code\u003e, \u003ccode\u003ecity\u003c/code\u003e, \u003ccode\u003ework_experience\u003c/code\u003e, \u003ccode\u003eroll_number\u003c/code\u003e, \u003ccode\u003eemail_address\u003c/code\u003e, \u003ccode\u003eyear_of_graduation\u003c/code\u003e, \u003ccode\u003ecgpa\u003c/code\u003e, \u003ccode\u003euniv\u003c/code\u003e, \u003ccode\u003ephone_number\u003c/code\u003e, \u003ccode\u003econtact_recruiter\u003c/code\u003e, \u003ccode\u003ebranch\u003c/code\u003e, \u003ccode\u003egender\u003c/code\u003e, \u003ccode\u003edegree\u003c/code\u003e, \u003ccode\u003erole\u003c/code\u003e, \u003ccode\u003eresume\u003c/code\u003e, \u003ccode\u003epgdegree\u003c/code\u003e, \u003ccode\u003ecity_graduation\u003c/code\u003e, \u003ccode\u003egpa\u003c/code\u003e, \u003ccode\u003emajor\u003c/code\u003e, \u003ccode\u003elinkedin\u003c/code\u003e]\u003cbr /\u003eFor default fields add field in following way \u003ccode\u003e{predefined_label: 'roll_number', required: true}\u003c/code\u003e in the array. \u003cbr /\u003e\u003cbr /\u003eIf you want to add another field to candidate_details not present in default list, you can add in the following way: \u003cbr /\u003e\u003ccode\u003e{title: 'First Name', required: true, type: 'input'}\u003c/code\u003e. Following are the supported input types: \u003ccode\u003e[input, select, radio, checkbox, file]\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eIn case of input being select, you can send options for select in following way: \u003ccode\u003e{title: 'Age', required: true, type: 'select', options: ['\u003c20', '20-30', '\u003e30']}\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eOrder of candidate_details will be same as order of array","items":{"type":"string"},"default":[{"predefined_label":"full_name","required":true},{"predefined_label":"work_experience","required":true}]},"custom_acknowledge_text":{"type":"string","description":"Candidate will be asked to agree to this text before logging into the test.","default":" I will not consult/copy code from any source including a website, book, or friend/colleague to complete these tests, though may refer language documentation or use an IDE that has code completion features."},"cutoff_score":{"type":"integer","description":"If set, then candidates scoring equal or more than this value will automatically be placed into \"Qualified\" bucket, while candidates scoring less will be placed in \"Failed\" bucket","default":85},"master_password":{"type":"string","description":"If set, candidates can login to the test using this password","default":null},"hide_compile_test":{"type":"boolean","description":"If set to true then candidate will not be able to see compile button for coding and approximate type questions.","default":null},"tags":{"type":"array","description":"List of tags associated with this test","items":{"type":"string"},"default":["Java","Hard","Senior"]},"role_ids":{"type":"array","description":"List of role ids associated with this test.","items":{"type":"string"},"default":["e9861a782033"]},"experience":{"type":"array","description":"Experience levels associated with this test.","items":{"type":"string"},"default":["New Graduate","0-2 years"],"enum":["Intern","New Graduate","0-2 years","2-5 years","\u003e5 years","All Experience Levels"]},"questions":{"type":"array","description":"List of question ids associated with this test.","items":{"type":"string"},"default":null},"sections":{"type":"object","description":"Section slot data for the test.","default":null},"mcq_incorrect_score":{"type":"integer","description":"Score to deduct from total score per incorect MCQ question","default":-1},"mcq_correct_score":{"type":"integer","description":"Score to add to total score per correct MCQ question","default":4},"short_login_url":{"type":"string","description":"Login URL for the test. This requires master password to be setup for test.","default":null},"public_login_url":{"type":"string","description":"Public login URL for the test. This URL do not require a password.","default":null},"shuffle_questions":{"type":"boolean","description":"If true than questions will be shuffled","default":null},"test_admins":{"type":"array","description":"Test admins will also receive summary report mails when candidate completes a test.","items":{"type":"string"},"default":null},"hide_template":{"type":"boolean","description":"If set to true then head and tail templates will not be shown to candidates.","default":null},"enable_acknowledgement":{"type":"boolean","description":"If set to false, then candidate will not be asked to agree to acknowledgement text.","default":null},"enable_proctoring":{"type":"boolean","description":"If set to true, then this will force the candidate to turn their webcam on before starting the Test.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image Proctoring setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_advanced_proctoring":{"type":"boolean","description":"If set to true, candidate webcam photos are analyzed using AI to detect suspicious activity.We will take snapshots periodically during the Test, and you can view them in the Candidate's report.This corresponds to Image analysis setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_secure_assessment_mode":{"type":"boolean","description":"If set to true, then this will enable secure mode for the test.This corresponds to Secure mode setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_ml_plagiarism_analysis":{"type":"boolean","description":"If set to true, this detects whether a candidate has received help from an external source.This corresponds to AI Plagiarism setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"enable_photo_identification":{"type":"boolean","description":"If set to true, this requires candidates to take a photo before starting the test.This corresponds to Photo Identification setting under Integrity settings of a test\u003cbr/\u003eBy default this field is set to \u003cstrong\u003efalse\u003c/strong\u003e.","default":false},"ide_config":{"type":"string","description":"Configure IDE for candidates to solve Front-end, Back-end, and Full-stack questions.\u003cbr /\u003eDefault is set to \u003cstrong\u003eide\u003c/strong\u003e.","default":"ide","enum":["ide_and_git","ide","git"]}},"required":["id","unique_id","name","starttime","endtime","duration","instructions","starred","created_at","state","locked","draft","languages","candidate_details","custom_acknowledge_text","cutoff_score","master_password","hide_compile_test","tags","role_ids","experience","questions","sections","mcq_incorrect_score","mcq_correct_score","short_login_url","public_login_url","shuffle_questions","test_admins","hide_template","enable_acknowledgement","enable_proctoring","enable_advanced_proctoring","enable_secure_assessment_mode","enable_ml_plagiarism_analysis","enable_photo_identification","ide_config"]},"UserTeamCreate":{"title":"UserTeam","properties":{"id":{"type":"string","description":"Id of the team","default":"09a38d2bd70a"}},"required":["id"]},"TestCandidateUpdate":{"title":"TestCandidate","properties":{"full_name":{"type":"string","description":"Full name of the candidate.","default":"Alice Wonders"},"ats_state":{"type":"integer","description":"This indicates the current state of the candidate application. Value can be from 0 to 22.","default":0},"invite_valid_from":{"type":"datetime","description":"Time from when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-20T16:59:01+00:00"},"invite_valid_to":{"type":"datetime","description":"Time till when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-21T16:59:01+00:00"},"invite_metadata":{"type":"object","description":"Customizable metadata that can be set for a candidate. This must be a valid JSON object.","default":{"ats_candidate_id":1}},"evaluator_email":{"type":"string","description":"Email address of the evaluator, if different from the test admins and owner.","default":null},"test_finish_url":{"type":"string","description":"Candidate will be redirected to this URL when the test gets over. By default, they are sent to the feedback page.","default":null},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook. By default, the inviter will get the report by email.","default":null},"webhook_authentication":{"type":"object","description":"Authentication configuration for the webhook URL. Required when test_result_url is provided.","$ref":"#/definitions/WebhookAuthentication"},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false},"tags":{"type":"array","description":"List of tags associated with this candidate.","items":{"type":"string"},"default":["Java","Hard","Senior"]},"accommodations":{"type":"object","description":"Object containing candidate accommodations.","default":null}},"required":["full_name","ats_state","invite_valid_from","invite_valid_to","invite_metadata","evaluator_email","test_finish_url","test_result_url","webhook_authentication","accept_result_updates","tags","accommodations"]},"TestCandidateCreate":{"title":"TestCandidate","properties":{"full_name":{"type":"string","description":"Full name of the candidate.","default":"Alice Wonders"},"email":{"type":"string","description":"Email address of the candidate.","default":"alice.wonders@email.com"},"ats_state":{"type":"integer","description":"This indicates the current state of the candidate application. Value can be from 0 to 22.","default":0},"invite_valid_from":{"type":"datetime","description":"Time from when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-20T16:59:01+00:00"},"invite_valid_to":{"type":"datetime","description":"Time till when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-21T16:59:01+00:00"},"invite_metadata":{"type":"object","description":"Customizable metadata that can be set for a candidate. This must be a valid JSON object.","default":{"ats_candidate_id":1}},"subject":{"type":"string","description":"Subject of the candidate invite mail.","default":null},"message":{"type":"string","description":"Custom message that will be prepended to the candidate invite mail body.","default":null},"template":{"type":"string","description":"ID of the template to be used for inviting candidate.","default":null},"evaluator_email":{"type":"string","description":"Email address of the evaluator, if different from the test admins and owner.","default":null},"test_finish_url":{"type":"string","description":"Candidate will be redirected to this URL when the test gets over. By default, they are sent to the feedback page.","default":null},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook. By default, the inviter will get the report by email.","default":null},"webhook_authentication":{"type":"object","description":"Authentication configuration for the webhook URL. Required when test_result_url is provided.","$ref":"#/definitions/WebhookAuthentication"},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false},"send_email":{"type":"boolean","description":"Flag to send the invite email to the candidate. Defaults to \"false\"; the invite is recorded but no email is sent. Pass \"true\" to send the invitation email.","default":false},"tags":{"type":"array","description":"List of tags associated with this candidate.","items":{"type":"string"},"default":["Java","Hard","Senior"]},"force":{"type":"boolean","description":"Flag which forces sending an email even when the candidate has already been invited.","default":null},"force_reattempt":{"type":"boolean","description":"Force re-invite even when the candidate has already attempted the test.","default":null},"accommodations":{"type":"object","description":"Object containing candidate accommodations.","$ref":"#/definitions/CandidateAccommodations"}},"required":["email"]},"TestCandidateShow":{"title":"TestCandidate","properties":{"id":{"type":"string","description":"ID of the test candidate.","default":"98Sjnbj12"},"full_name":{"type":"string","description":"Full name of the candidate.","default":"Alice Wonders"},"email":{"type":"string","description":"Email address of the candidate.","default":"alice.wonders@email.com"},"score":{"type":"float","description":"Score of the candidate if they have attempted the test.","default":32.5},"test":{"type":"string","description":"Test for the candidate.","default":"p132983al","expandable":true},"user":{"type":"string","description":"User who invited this candidate.","default":"1ok2njXJi","expandable":true},"attempt_starttime":{"type":"datetime","description":"Time at which candidate started the test. This will be null if candidate has not attempted the test yet.","default":"2016-05-24T06:27:25+0000"},"attempt_endtime":{"type":"datetime","description":"Time at which candidate ended the test. This will be null if candidate has not attempted the test yet.","default":"2016-05-24T11:57:25+0000"},"attempt_events":{"type":"array","description":"List of events that occurred during the attempt. Each event contains fields: \u003ccode\u003eid\u003c/code\u003e, \u003ccode\u003eattempt_id\u003c/code\u003e,\u003ccode\u003eevent\u003c/code\u003e (event type), \u003ccode\u003edata\u003c/code\u003e (event-specific data), \u003ccode\u003einserttime\u003c/code\u003e (timestamp).\u003cbr /\u003e\u003cbr /\u003e\u003cb\u003eList of events:\u003c/b\u003e\u003cbr /\u003e\u003ccode\u003e1\u003c/code\u003e - Logged in to the test\u003cbr /\u003e\u003ccode\u003e2\u003c/code\u003e - Viewed question list\u003cbr /\u003e\u003ccode\u003e3\u003c/code\u003e - Viewed question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e4\u003c/code\u003e - Submitted answer for question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e5\u003c/code\u003e - Code execution for question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e6\u003c/code\u003e - Ping to server\u003cbr /\u003e\u003ccode\u003e7\u003c/code\u003e - Went invisible / Switched tab or window. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e8\u003c/code\u003e - Went Visible / Switched back to test. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e9\u003c/code\u003e - Text pasted from external source. Will get \u003ccode\u003epasted_text\u003c/code\u003e, \u003ccode\u003epasted_text_char_count\u003c/code\u003e, \u003ccode\u003epasted_text_line_count\u003c/code\u003e, \u003ccode\u003epasted_text_truncated\u003c/code\u003e, \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e10\u003c/code\u003e - Rendered code for question","items":{"type":"string"},"default":null,"additional":true},"status":{"type":"integer","description":"This indicates the current status of the candidate. Can be between -1 to 7. -1 indicates that candidate is currently invited, while 7 indicates that candidates has completed the test and a report has been generated for the candidate. All other intermediate states are internal and should not be used.","default":-1},"ats_state":{"type":"integer","description":"This indicates the current state of the candidate application. Value can be from 0 to 22.","default":0},"integrity_status":{"type":"string","description":"Consolidated view of all integrity-related signals for an attempt. Possible values: \"High\" (high risk), \"Medium\" (medium risk), \"No Issues Detected\" (no integrity issues found), nil (not evaluated)","default":null},"integrity_summary":{"type":"string","description":"Detailed text summary of integrity-related signals for an attempt. Contains formatted text describing specific integrity issues detected (e.g., tab switches, code similarity, secure mode violations). null if not evaluated","default":null},"invite_email_done":{"type":"boolean","description":"Whether an invite email has been sent to candidate or not.","default":true},"invite_valid":{"type":"boolean","description":"Whether this invite is still valid or not.","default":true},"invited_on":{"type":"datetime","description":"Timestamp of when candidate was invited for the test.","default":"2016-05-14T11:57:25+0000"},"invite_valid_from":{"type":"datetime","description":"Time from when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-20T16:59:01+0000"},"invite_valid_to":{"type":"datetime","description":"Time till when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-21T16:59:01+0000"},"invite_link":{"type":"string","description":"Invite test link for the candidate.","default":"hackerrank.com/test/sample/auth_string"},"invite_metadata":{"type":"object","description":"Customizable metadata that can be set for a candidate. This must be a valid JSON object.","default":{"ats_candidate_id":1}},"evaluator_email":{"type":"string","description":"Email address of the evaluator, if different from the test admins and owner.","default":null},"test_finish_url":{"type":"string","description":"Candidate will be redirected to this URL when the test gets over. By default, they are sent to the feedback page.","default":null},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook. By default, the inviter will get the report by email.","default":null},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false},"tags":{"type":"array","description":"List of tags associated with this candidate.","items":{"type":"string"},"default":["Java","Hard","Senior"]},"report_url":{"type":"string","description":"URL for candidate report that is accessible only to HackerRank users with access to the specific test.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/report"},"authenticated_report_url":{"type":"string","description":"URL for candidate report that is accessible to all users in your HackerRank account.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/report?authkey=123abc"},"pdf_url":{"type":"string","description":"URL for a PDF version of the candidate report.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/pdf"},"scores_tags_split":{"type":"object","description":"Score of candidate split per tag.","default":{"Java":20,"Hard":2,"Senior":10}},"scores_skills_split":{"type":"object","description":"Score of candidate split per skill.","default":{"Problem Solving (Basic)":100,".NET (Intermediate)":0}},"added_time":{"type":"string","description":"Added time for this candidate, in minutes.","default":"30"},"unclaimed_added_time":{"type":"integer","description":"Unclaimed added time for this candidate.","default":0},"comments":{"type":"object","description":"All the comments left on the summary tab of the report. \u003cbr /\u003eFor comments left on individual questions, expand questions field too.","default":null,"additional":true},"performance_summary":{"type":"string","description":"Performance summary of the candidates, \u003cbr /\u003eincluding details about the candidates test results and AI-generated summaries.","default":null,"additional":true},"ip_address":{"type":"string","description":"IP address of the candidate.","default":null,"additional":true},"questions":{"type":"object","description":"Question wise score split for this candidate in this attempt. \u003cbr /\u003eList of fields when questions is expanded:[\u003ccode\u003eanswered\u003c/code\u003e, \u003ccode\u003eanswers\u003c/code\u003e, \u003ccode\u003escore\u003c/code\u003e, \u003ccode\u003eplagiarism\u003c/code\u003e, \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003epreview\u003c/code\u003e, \u003ccode\u003etype\u003c/code\u003e, \u003ccode\u003emax_score\u003c/code\u003e, \u003ccode\u003ecomments\u003c/code\u003e]\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003eplagiarism\u003c/code\u003e is an object and has the fields [\u003ccode\u003esolve_id\u003c/code\u003e, \u003ccode\u003etest_candidate_id\u003c/code\u003e, \u003ccode\u003eemail\u003c/code\u003e, \u003ccode\u003esimilarity\u003c/code\u003e] \u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003ecomments\u003c/code\u003e gives the comments left on the report for the given question (you need to also pass \u003ccode\u003ecomments\u003c/code\u003e in additional fields for this) \u003cbr /\u003e\u003cbr /\u003e\u003cb\u003e Additional fields \u003c/b\u003e\u003cbr /\u003eAdditional fields can be passed as csv for query parameter \u003ccode\u003eadditional_fields\u003c/code\u003e\u003cbr /\u003eex: \u003ccode\u003eadditional_fields=questions.time_taken\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eAdditional fields supported in response:\u003cbr /\u003e[\u003ccode\u003etime_taken\u003c/code\u003e, \u003ccode\u003esubmissions\u003c/code\u003e, \u003ccode\u003esubmission_result\u003c/code\u003e, \u003ccode\u003eplagiarism_details\u003c/code\u003e, \u003ccode\u003etotal_typing_time\u003c/code\u003e, \u003ccode\u003etime_to_start_typing\u003c/code\u003e, \u003ccode\u003einitial_repo\u003c/code\u003e, \u003ccode\u003esolution_zip\u003c/code\u003e, \u003ccode\u003escoring_output\u003c/code\u003e, \u003ccode\u003ecode_diff\u003c/code\u003e, \u003ccode\u003eai_transcript\u003c/code\u003e, \u003ccode\u003eide_signals\u003c/code\u003e, \u003ccode\u003eai_fluency\u003c/code\u003e, \u003ccode\u003ecode_quality\u003c/code\u003e]\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003etime_taken\u003c/b\u003e\u003c/code\u003e  gives the time taken per question by the candidate. Accessed by \u003ccode\u003equestions.time_taken\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003esubmissions\u003c/b\u003e\u003c/code\u003e  gives the list of all submissions done by the candidate for the given question. Accessed by \u003ccode\u003equestions.solves\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003esubmission_result\u003c/b\u003e\u003c/code\u003e gives the detailed submission information for each testcase. Accessed by \u003ccode\u003equestions.submission_result\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eplagiarism_details\u003c/b\u003e\u003c/code\u003e gives plagiarism details for each question including suspicion_score, suspicion_category, max_code_similarity, suspicion_reason, potential_reference_taking time intervals. Accessed by \u003ccode\u003equestions.plagiarism_details\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003etotal_typing_time\u003c/b\u003e\u003c/code\u003e gives the total typing time for each question. Accessed by \u003ccode\u003equestions.total_typing_time\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003ecode_quality_grade\u003c/b\u003e\u003c/code\u003e code quality grade for each question \u003ccode\u003equestions.code_quality_grade\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003etime_to_start_typing\u003c/b\u003e\u003c/code\u003e gives the time between question viewed and started typing for each question. Accessed by \u003ccode\u003equestions.time_to_start_typing\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eai_fluency\u003c/b\u003e\u003c/code\u003e AI fluency data for this question, returned as a \u003ccode\u003emetrics\u003c/code\u003e array inside each question. Accessed by \u003ccode\u003equestions.ai_fluency\u003c/code\u003e. See \u003ccode\u003eAttemptMetric\u003c/code\u003e for the record shape.\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003ecode_quality\u003c/b\u003e\u003c/code\u003e Code quality status, grade, and filtered report in the \u003ccode\u003emetrics\u003c/code\u003e array. Accessed by \u003ccode\u003equestions.code_quality\u003c/code\u003e on the show candidate endpoint. Ignored by list and search.\u003cbr /\u003e\u003cbr /\u003e\u003cb\u003eProject-based (fullstack) question artifacts.\u003c/b\u003e Each is opt-in and returned only for fullstack questions:\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003einitial_repo_url\u003c/b\u003e\u003c/code\u003e URL of the question starter repository zip. Accessed by \u003ccode\u003equestions.initial_repo\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003esolution_zip_url\u003c/b\u003e\u003c/code\u003e gitlist zipball download link (with access view key) for the candidate final repository. Accessed by \u003ccode\u003equestions.solution_zip\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003escoring_output_url\u003c/b\u003e\u003c/code\u003e URL of the scoring output log. Accessed by \u003ccode\u003equestions.scoring_output\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003ecode_diff_url\u003c/b\u003e\u003c/code\u003e presigned URL of the candidate code diff. Accessed by \u003ccode\u003equestions.code_diff\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eai_transcript_url\u003c/b\u003e\u003c/code\u003e presigned URL of the AI chat transcript. Accessed by \u003ccode\u003equestions.ai_transcript\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eide_signals_url\u003c/b\u003e\u003c/code\u003e presigned URL of the IDE signals log. Unlike the other fields in this group, this is also returned for \u003ccode\u003ecoderepo_task\u003c/code\u003e questions, not just fullstack. Accessed by \u003ccode\u003equestions.ide_signals\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eide_signals_filename\u003c/b\u003e\u003c/code\u003e name of the jsonl file inside the \u003ccode\u003eide_signals_url\u003c/code\u003e zip. It is \u003ccode\u003eade-signals.jsonl\u003c/code\u003e or \u003ccode\u003eide-signals.jsonl\u003c/code\u003e depending on the workspace mode the candidate ran in. Accessed by \u003ccode\u003equestions.ide_signals\u003c/code\u003e","$ref":"#/definitions/QuestionScore","expandable":true,"additional":true},"plagiarism":{"type":"object","description":"[DEPRECATED] Question wise details of plagiarism. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"plagiarism_status":{"type":"boolean","description":"[DEPRECATED] Whether this candidate has been flagged as plagiarized or not. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"max_code_similarity":{"type":"object","description":"[DEPRECATED] This gives the question level measure of candidate's code similarity. Candidate's code is compared with that of other candidates for the specific question. Maximum similarity percentage at the time of test submission is returned. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"feedback":{"type":"string","description":"Feedback given by the candidate at the end of the test.","default":"Nice experience"},"percentage_score":{"type":"float","description":"Percentage score of the candidate for the test.","default":50.0},"candidate_details":{"type":"array","description":"Details of candidate.","items":{"$ref":"#/definitions/CandidateDetail"}},"attempt_metrics":{"type":"array","description":"AI fluency data for the candidate's attempt as a whole. Opt-in via \u003ccode\u003eadditional_fields=attempt_metrics.ai_fluency\u003c/code\u003e. Only present once the candidate's top-level \u003ccode\u003estatus\u003c/code\u003e is \u003ccode\u003e7\u003c/code\u003e (completed); omitted entirely until then, even if requested. See \u003ccode\u003eAttemptMetric\u003c/code\u003e for the record shape.","items":{"$ref":"#/definitions/AttemptMetric"},"additional":true},"out_of_window_events":{"type":"integer","description":"When \u003cstrong\u003ecandidate_tab_switch\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate went out of window.","default":0},"out_of_window_duration":{"type":"float","description":"When \u003cstrong\u003ecandidate_tab_switch\u003c/strong\u003e is enabled for the test, this field returns the number of seconds this candidate went out of window.","default":0.0},"secure_mode_exit_count":{"type":"integer","description":"When \u003cstrong\u003eenable_secure_assessment_mode\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate exited secure/fullscreen mode.","default":0},"secure_mode_exit_duration":{"type":"float","description":"When \u003cstrong\u003eenable_secure_assessment_mode\u003c/strong\u003e is enabled for the test, this field returns the total number of seconds this candidate spent outside secure/fullscreen mode.","default":0.0},"editor_paste_count":{"type":"integer","description":"when \u003cstrong\u003etrack_editor_paste\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate pasted a piece of code.","default":0},"proctor_images":{"type":"array","description":"When \u003cstrong\u003eenable_proctoring\u003c/strong\u003e is enabled for the test, this field returns a list of urls that contains the images of this candidate taken during the test.","items":{"type":"string"},"default":[]}},"required":["id","full_name","email","score","test","user","attempt_starttime","attempt_endtime","attempt_events","status","ats_state","integrity_status","integrity_summary","invite_email_done","invite_valid","invited_on","invite_valid_from","invite_valid_to","invite_link","invite_metadata","evaluator_email","test_finish_url","test_result_url","accept_result_updates","tags","report_url","authenticated_report_url","pdf_url","scores_tags_split","scores_skills_split","added_time","unclaimed_added_time","comments","performance_summary","ip_address","questions","plagiarism","plagiarism_status","max_code_similarity","feedback","percentage_score","candidate_details","attempt_metrics","out_of_window_events","out_of_window_duration","secure_mode_exit_count","secure_mode_exit_duration","editor_paste_count","proctor_images"]},"TestCandidateIndex":{"title":"TestCandidate","properties":{"id":{"type":"string","description":"ID of the test candidate.","default":"98Sjnbj12"},"full_name":{"type":"string","description":"Full name of the candidate.","default":"Alice Wonders"},"email":{"type":"string","description":"Email address of the candidate.","default":"alice.wonders@email.com","filterable":true},"score":{"type":"float","description":"Score of the candidate if they have attempted the test.","default":32.5},"test":{"type":"string","description":"Test for the candidate.","default":"p132983al","expandable":true},"user":{"type":"string","description":"User who invited this candidate.","default":"1ok2njXJi","expandable":true,"filterable":true},"attempt_starttime":{"type":"datetime","description":"Time at which candidate started the test. This will be null if candidate has not attempted the test yet.","default":"2016-05-24T06:27:25+0000","filterable":true},"attempt_endtime":{"type":"datetime","description":"Time at which candidate ended the test. This will be null if candidate has not attempted the test yet.","default":"2016-05-24T11:57:25+0000","filterable":true},"attempt_events":{"type":"array","description":"List of events that occurred during the attempt. Each event contains fields: \u003ccode\u003eid\u003c/code\u003e, \u003ccode\u003eattempt_id\u003c/code\u003e,\u003ccode\u003eevent\u003c/code\u003e (event type), \u003ccode\u003edata\u003c/code\u003e (event-specific data), \u003ccode\u003einserttime\u003c/code\u003e (timestamp).\u003cbr /\u003e\u003cbr /\u003e\u003cb\u003eList of events:\u003c/b\u003e\u003cbr /\u003e\u003ccode\u003e1\u003c/code\u003e - Logged in to the test\u003cbr /\u003e\u003ccode\u003e2\u003c/code\u003e - Viewed question list\u003cbr /\u003e\u003ccode\u003e3\u003c/code\u003e - Viewed question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e4\u003c/code\u003e - Submitted answer for question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e5\u003c/code\u003e - Code execution for question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e6\u003c/code\u003e - Ping to server\u003cbr /\u003e\u003ccode\u003e7\u003c/code\u003e - Went invisible / Switched tab or window. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e8\u003c/code\u003e - Went Visible / Switched back to test. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e9\u003c/code\u003e - Text pasted from external source. Will get \u003ccode\u003epasted_text\u003c/code\u003e, \u003ccode\u003epasted_text_char_count\u003c/code\u003e, \u003ccode\u003epasted_text_line_count\u003c/code\u003e, \u003ccode\u003epasted_text_truncated\u003c/code\u003e, \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e10\u003c/code\u003e - Rendered code for question","items":{"type":"string"},"default":null,"additional":true},"status":{"type":"integer","description":"This indicates the current status of the candidate. Can be between -1 to 7. -1 indicates that candidate is currently invited, while 7 indicates that candidates has completed the test and a report has been generated for the candidate. All other intermediate states are internal and should not be used.","default":-1,"filterable":true},"ats_state":{"type":"integer","description":"This indicates the current state of the candidate application. Value can be from 0 to 22.","default":0,"filterable":true},"integrity_status":{"type":"string","description":"Consolidated view of all integrity-related signals for an attempt. Possible values: \"High\" (high risk), \"Medium\" (medium risk), \"No Issues Detected\" (no integrity issues found), nil (not evaluated)","default":null,"filterable":true},"integrity_summary":{"type":"string","description":"Detailed text summary of integrity-related signals for an attempt. Contains formatted text describing specific integrity issues detected (e.g., tab switches, code similarity, secure mode violations). null if not evaluated","default":null},"invite_email_done":{"type":"boolean","description":"Whether an invite email has been sent to candidate or not.","default":true},"invite_valid":{"type":"boolean","description":"Whether this invite is still valid or not.","default":true,"filterable":true},"invited_on":{"type":"datetime","description":"Timestamp of when candidate was invited for the test.","default":"2016-05-14T11:57:25+0000","filterable":true},"invite_valid_from":{"type":"datetime","description":"Time from when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-20T16:59:01+0000","filterable":true},"invite_valid_to":{"type":"datetime","description":"Time till when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-21T16:59:01+0000","filterable":true},"invite_link":{"type":"string","description":"Invite test link for the candidate.","default":"hackerrank.com/test/sample/auth_string"},"invite_metadata":{"type":"object","description":"Customizable metadata that can be set for a candidate. This must be a valid JSON object.","default":{"ats_candidate_id":1}},"evaluator_email":{"type":"string","description":"Email address of the evaluator, if different from the test admins and owner.","default":null},"test_finish_url":{"type":"string","description":"Candidate will be redirected to this URL when the test gets over. By default, they are sent to the feedback page.","default":null},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook. By default, the inviter will get the report by email.","default":null},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false},"tags":{"type":"array","description":"List of tags associated with this candidate.","items":{"type":"string"},"default":["Java","Hard","Senior"],"filterable":true},"report_url":{"type":"string","description":"URL for candidate report that is accessible only to HackerRank users with access to the specific test.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/report"},"authenticated_report_url":{"type":"string","description":"URL for candidate report that is accessible to all users in your HackerRank account.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/report?authkey=123abc"},"pdf_url":{"type":"string","description":"URL for a PDF version of the candidate report.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/pdf"},"scores_tags_split":{"type":"object","description":"Score of candidate split per tag.","default":{"Java":20,"Hard":2,"Senior":10}},"scores_skills_split":{"type":"object","description":"Score of candidate split per skill.","default":{"Problem Solving (Basic)":100,".NET (Intermediate)":0}},"added_time":{"type":"string","description":"Added time for this candidate, in minutes.","default":"30"},"unclaimed_added_time":{"type":"integer","description":"Unclaimed added time for this candidate.","default":0},"comments":{"type":"object","description":"All the comments left on the summary tab of the report. \u003cbr /\u003eFor comments left on individual questions, expand questions field too.","default":null,"additional":true},"performance_summary":{"type":"string","description":"Performance summary of the candidates, \u003cbr /\u003eincluding details about the candidates test results and AI-generated summaries.","default":null,"additional":true},"ip_address":{"type":"string","description":"IP address of the candidate.","default":null,"additional":true},"questions":{"type":"object","description":"Question wise score split for this candidate in this attempt. \u003cbr /\u003eList of fields when questions is expanded:[\u003ccode\u003eanswered\u003c/code\u003e, \u003ccode\u003eanswers\u003c/code\u003e, \u003ccode\u003escore\u003c/code\u003e, \u003ccode\u003eplagiarism\u003c/code\u003e, \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003epreview\u003c/code\u003e, \u003ccode\u003etype\u003c/code\u003e, \u003ccode\u003emax_score\u003c/code\u003e, \u003ccode\u003ecomments\u003c/code\u003e]\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003eplagiarism\u003c/code\u003e is an object and has the fields [\u003ccode\u003esolve_id\u003c/code\u003e, \u003ccode\u003etest_candidate_id\u003c/code\u003e, \u003ccode\u003eemail\u003c/code\u003e, \u003ccode\u003esimilarity\u003c/code\u003e] \u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003ecomments\u003c/code\u003e gives the comments left on the report for the given question (you need to also pass \u003ccode\u003ecomments\u003c/code\u003e in additional fields for this) \u003cbr /\u003e\u003cbr /\u003e\u003cb\u003e Additional fields \u003c/b\u003e\u003cbr /\u003eAdditional fields can be passed as csv for query parameter \u003ccode\u003eadditional_fields\u003c/code\u003e\u003cbr /\u003eex: \u003ccode\u003eadditional_fields=questions.time_taken\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003eAdditional fields supported in response:\u003cbr /\u003e[\u003ccode\u003etime_taken\u003c/code\u003e, \u003ccode\u003esubmissions\u003c/code\u003e, \u003ccode\u003esubmission_result\u003c/code\u003e, \u003ccode\u003eplagiarism_details\u003c/code\u003e, \u003ccode\u003etotal_typing_time\u003c/code\u003e, \u003ccode\u003etime_to_start_typing\u003c/code\u003e, \u003ccode\u003einitial_repo\u003c/code\u003e, \u003ccode\u003esolution_zip\u003c/code\u003e, \u003ccode\u003escoring_output\u003c/code\u003e, \u003ccode\u003ecode_diff\u003c/code\u003e, \u003ccode\u003eai_transcript\u003c/code\u003e, \u003ccode\u003eide_signals\u003c/code\u003e, \u003ccode\u003eai_fluency\u003c/code\u003e, \u003ccode\u003ecode_quality\u003c/code\u003e]\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003etime_taken\u003c/b\u003e\u003c/code\u003e  gives the time taken per question by the candidate. Accessed by \u003ccode\u003equestions.time_taken\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003esubmissions\u003c/b\u003e\u003c/code\u003e  gives the list of all submissions done by the candidate for the given question. Accessed by \u003ccode\u003equestions.solves\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003esubmission_result\u003c/b\u003e\u003c/code\u003e gives the detailed submission information for each testcase. Accessed by \u003ccode\u003equestions.submission_result\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eplagiarism_details\u003c/b\u003e\u003c/code\u003e gives plagiarism details for each question including suspicion_score, suspicion_category, max_code_similarity, suspicion_reason, potential_reference_taking time intervals. Accessed by \u003ccode\u003equestions.plagiarism_details\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003etotal_typing_time\u003c/b\u003e\u003c/code\u003e gives the total typing time for each question. Accessed by \u003ccode\u003equestions.total_typing_time\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003ecode_quality_grade\u003c/b\u003e\u003c/code\u003e code quality grade for each question \u003ccode\u003equestions.code_quality_grade\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003etime_to_start_typing\u003c/b\u003e\u003c/code\u003e gives the time between question viewed and started typing for each question. Accessed by \u003ccode\u003equestions.time_to_start_typing\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eai_fluency\u003c/b\u003e\u003c/code\u003e AI fluency data for this question, returned as a \u003ccode\u003emetrics\u003c/code\u003e array inside each question. Accessed by \u003ccode\u003equestions.ai_fluency\u003c/code\u003e. See \u003ccode\u003eAttemptMetric\u003c/code\u003e for the record shape.\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003ecode_quality\u003c/b\u003e\u003c/code\u003e Code quality status, grade, and filtered report in the \u003ccode\u003emetrics\u003c/code\u003e array. Accessed by \u003ccode\u003equestions.code_quality\u003c/code\u003e on the show candidate endpoint. Ignored by list and search.\u003cbr /\u003e\u003cbr /\u003e\u003cb\u003eProject-based (fullstack) question artifacts.\u003c/b\u003e Each is opt-in and returned only for fullstack questions:\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003einitial_repo_url\u003c/b\u003e\u003c/code\u003e URL of the question starter repository zip. Accessed by \u003ccode\u003equestions.initial_repo\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003esolution_zip_url\u003c/b\u003e\u003c/code\u003e gitlist zipball download link (with access view key) for the candidate final repository. Accessed by \u003ccode\u003equestions.solution_zip\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003escoring_output_url\u003c/b\u003e\u003c/code\u003e URL of the scoring output log. Accessed by \u003ccode\u003equestions.scoring_output\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003ecode_diff_url\u003c/b\u003e\u003c/code\u003e presigned URL of the candidate code diff. Accessed by \u003ccode\u003equestions.code_diff\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eai_transcript_url\u003c/b\u003e\u003c/code\u003e presigned URL of the AI chat transcript. Accessed by \u003ccode\u003equestions.ai_transcript\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eide_signals_url\u003c/b\u003e\u003c/code\u003e presigned URL of the IDE signals log. Unlike the other fields in this group, this is also returned for \u003ccode\u003ecoderepo_task\u003c/code\u003e questions, not just fullstack. Accessed by \u003ccode\u003equestions.ide_signals\u003c/code\u003e\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eide_signals_filename\u003c/b\u003e\u003c/code\u003e name of the jsonl file inside the \u003ccode\u003eide_signals_url\u003c/code\u003e zip. It is \u003ccode\u003eade-signals.jsonl\u003c/code\u003e or \u003ccode\u003eide-signals.jsonl\u003c/code\u003e depending on the workspace mode the candidate ran in. Accessed by \u003ccode\u003equestions.ide_signals\u003c/code\u003e","default":null,"expandable":true,"additional":true},"plagiarism":{"type":"object","description":"[DEPRECATED] Question wise details of plagiarism. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"plagiarism_status":{"type":"boolean","description":"[DEPRECATED] Whether this candidate has been flagged as plagiarized or not. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"max_code_similarity":{"type":"object","description":"[DEPRECATED] This gives the question level measure of candidate's code similarity. Candidate's code is compared with that of other candidates for the specific question. Maximum similarity percentage at the time of test submission is returned. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"feedback":{"type":"string","description":"Feedback given by the candidate at the end of the test.","default":"Nice experience"},"percentage_score":{"type":"float","description":"Percentage score of the candidate for the test.","default":50.0},"candidate_details":{"type":"array","description":"Details of candidate.","items":{"$ref":"#/definitions/CandidateDetail"}},"attempt_metrics":{"type":"array","description":"AI fluency data for the candidate's attempt as a whole. Opt-in via \u003ccode\u003eadditional_fields=attempt_metrics.ai_fluency\u003c/code\u003e. Only present once the candidate's top-level \u003ccode\u003estatus\u003c/code\u003e is \u003ccode\u003e7\u003c/code\u003e (completed); omitted entirely until then, even if requested. See \u003ccode\u003eAttemptMetric\u003c/code\u003e for the record shape.","items":{"$ref":"#/definitions/AttemptMetric"},"additional":true},"out_of_window_events":{"type":"integer","description":"When \u003cstrong\u003ecandidate_tab_switch\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate went out of window.","default":0},"out_of_window_duration":{"type":"float","description":"When \u003cstrong\u003ecandidate_tab_switch\u003c/strong\u003e is enabled for the test, this field returns the number of seconds this candidate went out of window.","default":0.0},"secure_mode_exit_count":{"type":"integer","description":"When \u003cstrong\u003eenable_secure_assessment_mode\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate exited secure/fullscreen mode.","default":0},"secure_mode_exit_duration":{"type":"float","description":"When \u003cstrong\u003eenable_secure_assessment_mode\u003c/strong\u003e is enabled for the test, this field returns the total number of seconds this candidate spent outside secure/fullscreen mode.","default":0.0},"editor_paste_count":{"type":"integer","description":"when \u003cstrong\u003etrack_editor_paste\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate pasted a piece of code.","default":0},"proctor_images":{"type":"array","description":"When \u003cstrong\u003eenable_proctoring\u003c/strong\u003e is enabled for the test, this field returns a list of urls that contains the images of this candidate taken during the test.","items":{"type":"string"},"default":[]}},"required":["id","full_name","email","score","test","user","attempt_starttime","attempt_endtime","attempt_events","status","ats_state","integrity_status","integrity_summary","invite_email_done","invite_valid","invited_on","invite_valid_from","invite_valid_to","invite_link","invite_metadata","evaluator_email","test_finish_url","test_result_url","accept_result_updates","tags","report_url","authenticated_report_url","pdf_url","scores_tags_split","scores_skills_split","added_time","unclaimed_added_time","comments","performance_summary","ip_address","questions","plagiarism","plagiarism_status","max_code_similarity","feedback","percentage_score","candidate_details","attempt_metrics","out_of_window_events","out_of_window_duration","secure_mode_exit_count","secure_mode_exit_duration","editor_paste_count","proctor_images"]},"TestCandidateRef":{"title":"TestCandidate","properties":{"id":{"type":"string","description":"ID of the test candidate.","default":"98Sjnbj12"},"full_name":{"type":"string","description":"Full name of the candidate.","default":"Alice Wonders"},"email":{"type":"string","description":"Email address of the candidate.","default":"alice.wonders@email.com"},"score":{"type":"float","description":"Score of the candidate if they have attempted the test.","default":32.5},"attempt_starttime":{"type":"datetime","description":"Time at which candidate started the test. This will be null if candidate has not attempted the test yet.","default":"2016-05-24T06:27:25+0000"},"attempt_endtime":{"type":"datetime","description":"Time at which candidate ended the test. This will be null if candidate has not attempted the test yet.","default":"2016-05-24T11:57:25+0000"},"attempt_events":{"type":"array","description":"List of events that occurred during the attempt. Each event contains fields: \u003ccode\u003eid\u003c/code\u003e, \u003ccode\u003eattempt_id\u003c/code\u003e,\u003ccode\u003eevent\u003c/code\u003e (event type), \u003ccode\u003edata\u003c/code\u003e (event-specific data), \u003ccode\u003einserttime\u003c/code\u003e (timestamp).\u003cbr /\u003e\u003cbr /\u003e\u003cb\u003eList of events:\u003c/b\u003e\u003cbr /\u003e\u003ccode\u003e1\u003c/code\u003e - Logged in to the test\u003cbr /\u003e\u003ccode\u003e2\u003c/code\u003e - Viewed question list\u003cbr /\u003e\u003ccode\u003e3\u003c/code\u003e - Viewed question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e4\u003c/code\u003e - Submitted answer for question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e5\u003c/code\u003e - Code execution for question. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e6\u003c/code\u003e - Ping to server\u003cbr /\u003e\u003ccode\u003e7\u003c/code\u003e - Went invisible / Switched tab or window. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e8\u003c/code\u003e - Went Visible / Switched back to test. Will get \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e, \u003ccode\u003equestion_version\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e9\u003c/code\u003e - Text pasted from external source. Will get \u003ccode\u003epasted_text\u003c/code\u003e, \u003ccode\u003epasted_text_char_count\u003c/code\u003e, \u003ccode\u003epasted_text_line_count\u003c/code\u003e, \u003ccode\u003epasted_text_truncated\u003c/code\u003e, \u003ccode\u003eqid\u003c/code\u003e, \u003ccode\u003eqno\u003c/code\u003e fields in \u003ccode\u003edata\u003c/code\u003e.\u003cbr /\u003e\u003ccode\u003e10\u003c/code\u003e - Rendered code for question","items":{"type":"string"},"default":null},"status":{"type":"integer","description":"This indicates the current status of the candidate. Can be between -1 to 7. -1 indicates that candidate is currently invited, while 7 indicates that candidates has completed the test and a report has been generated for the candidate. All other intermediate states are internal and should not be used.","default":-1},"ats_state":{"type":"integer","description":"This indicates the current state of the candidate application. Value can be from 0 to 22.","default":0},"integrity_status":{"type":"string","description":"Consolidated view of all integrity-related signals for an attempt. Possible values: \"High\" (high risk), \"Medium\" (medium risk), \"No Issues Detected\" (no integrity issues found), nil (not evaluated)","default":null},"integrity_summary":{"type":"string","description":"Detailed text summary of integrity-related signals for an attempt. Contains formatted text describing specific integrity issues detected (e.g., tab switches, code similarity, secure mode violations). null if not evaluated","default":null},"invite_email_done":{"type":"boolean","description":"Whether an invite email has been sent to candidate or not.","default":true},"invite_valid":{"type":"boolean","description":"Whether this invite is still valid or not.","default":true},"invited_on":{"type":"datetime","description":"Timestamp of when candidate was invited for the test.","default":"2016-05-14T11:57:25+0000"},"invite_valid_from":{"type":"datetime","description":"Time from when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-20T16:59:01+0000"},"invite_valid_to":{"type":"datetime","description":"Time till when invite for this test candidate is valid. Null value in this field indicates that invite is permanently valid.","default":"2026-10-21T16:59:01+0000"},"invite_link":{"type":"string","description":"Invite test link for the candidate.","default":"hackerrank.com/test/sample/auth_string"},"invite_metadata":{"type":"object","description":"Customizable metadata that can be set for a candidate. This must be a valid JSON object.","default":{"ats_candidate_id":1}},"subject":{"type":"string","description":"Subject of the candidate invite mail.","default":null},"message":{"type":"string","description":"Custom message that will be prepended to the candidate invite mail body.","default":null},"template":{"type":"string","description":"ID of the template to be used for inviting candidate.","default":null},"evaluator_email":{"type":"string","description":"Email address of the evaluator, if different from the test admins and owner.","default":null},"test_finish_url":{"type":"string","description":"Candidate will be redirected to this URL when the test gets over. By default, they are sent to the feedback page.","default":null},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook. By default, the inviter will get the report by email.","default":null},"webhook_authentication":{"type":"object","description":"Authentication configuration for the webhook URL. Required when test_result_url is provided.","default":null},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false},"send_email":{"type":"boolean","description":"Flag to send the invite email to the candidate. Defaults to \"false\"; the invite is recorded but no email is sent. Pass \"true\" to send the invitation email.","default":false},"tags":{"type":"array","description":"List of tags associated with this candidate.","items":{"type":"string"},"default":["Java","Hard","Senior"]},"force":{"type":"boolean","description":"Flag which forces sending an email even when the candidate has already been invited.","default":null},"force_reattempt":{"type":"boolean","description":"Force re-invite even when the candidate has already attempted the test.","default":null},"accommodations":{"type":"object","description":"Object containing candidate accommodations.","default":null},"report_url":{"type":"string","description":"URL for candidate report that is accessible only to HackerRank users with access to the specific test.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/report"},"authenticated_report_url":{"type":"string","description":"URL for candidate report that is accessible to all users in your HackerRank account.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/report?authkey=123abc"},"pdf_url":{"type":"string","description":"URL for a PDF version of the candidate report.","default":"https://www.hackerrank.com/x/tests/p132983al/candidates/8Sjnbj12/pdf"},"scores_tags_split":{"type":"object","description":"Score of candidate split per tag.","default":{"Java":20,"Hard":2,"Senior":10}},"scores_skills_split":{"type":"object","description":"Score of candidate split per skill.","default":{"Problem Solving (Basic)":100,".NET (Intermediate)":0}},"added_time":{"type":"string","description":"Added time for this candidate, in minutes.","default":"30"},"unclaimed_added_time":{"type":"integer","description":"Unclaimed added time for this candidate.","default":0},"comments":{"type":"object","description":"All the comments left on the summary tab of the report. \u003cbr /\u003eFor comments left on individual questions, expand questions field too.","default":null},"performance_summary":{"type":"string","description":"Performance summary of the candidates, \u003cbr /\u003eincluding details about the candidates test results and AI-generated summaries.","default":null},"ip_address":{"type":"string","description":"IP address of the candidate.","default":null},"plagiarism":{"type":"object","description":"[DEPRECATED] Question wise details of plagiarism. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"plagiarism_status":{"type":"boolean","description":"[DEPRECATED] Whether this candidate has been flagged as plagiarized or not. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"max_code_similarity":{"type":"object","description":"[DEPRECATED] This gives the question level measure of candidate's code similarity. Candidate's code is compared with that of other candidates for the specific question. Maximum similarity percentage at the time of test submission is returned. This field is deprecated. Please use integrity_status and integrity_summary instead.","default":null},"feedback":{"type":"string","description":"Feedback given by the candidate at the end of the test.","default":"Nice experience"},"percentage_score":{"type":"float","description":"Percentage score of the candidate for the test.","default":50.0},"candidate_details":{"type":"array","description":"Details of candidate.","items":{"$ref":"#/definitions/CandidateDetail"}},"attempt_metrics":{"type":"array","description":"AI fluency data for the candidate's attempt as a whole. Opt-in via \u003ccode\u003eadditional_fields=attempt_metrics.ai_fluency\u003c/code\u003e. Only present once the candidate's top-level \u003ccode\u003estatus\u003c/code\u003e is \u003ccode\u003e7\u003c/code\u003e (completed); omitted entirely until then, even if requested. See \u003ccode\u003eAttemptMetric\u003c/code\u003e for the record shape.","items":{"type":"string"},"default":null},"out_of_window_events":{"type":"integer","description":"When \u003cstrong\u003ecandidate_tab_switch\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate went out of window.","default":0},"out_of_window_duration":{"type":"float","description":"When \u003cstrong\u003ecandidate_tab_switch\u003c/strong\u003e is enabled for the test, this field returns the number of seconds this candidate went out of window.","default":0.0},"secure_mode_exit_count":{"type":"integer","description":"When \u003cstrong\u003eenable_secure_assessment_mode\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate exited secure/fullscreen mode.","default":0},"secure_mode_exit_duration":{"type":"float","description":"When \u003cstrong\u003eenable_secure_assessment_mode\u003c/strong\u003e is enabled for the test, this field returns the total number of seconds this candidate spent outside secure/fullscreen mode.","default":0.0},"editor_paste_count":{"type":"integer","description":"when \u003cstrong\u003etrack_editor_paste\u003c/strong\u003e is enabled for the test, this field returns the number of times this candidate pasted a piece of code.","default":0},"proctor_images":{"type":"array","description":"When \u003cstrong\u003eenable_proctoring\u003c/strong\u003e is enabled for the test, this field returns a list of urls that contains the images of this candidate taken during the test.","items":{"type":"string"},"default":[]}},"required":["id","full_name","email","score","attempt_starttime","attempt_endtime","attempt_events","status","ats_state","integrity_status","integrity_summary","invite_email_done","invite_valid","invited_on","invite_valid_from","invite_valid_to","invite_link","invite_metadata","subject","message","template","evaluator_email","test_finish_url","test_result_url","webhook_authentication","accept_result_updates","send_email","tags","force","force_reattempt","accommodations","report_url","authenticated_report_url","pdf_url","scores_tags_split","scores_skills_split","added_time","unclaimed_added_time","comments","performance_summary","ip_address","plagiarism","plagiarism_status","max_code_similarity","feedback","percentage_score","candidate_details","attempt_metrics","out_of_window_events","out_of_window_duration","secure_mode_exit_count","secure_mode_exit_duration","editor_paste_count","proctor_images"]},"InterviewTranscriptShow":{"title":"InterviewTranscript","properties":{"messages":{"type":"array","description":"Messages in the transcript","items":{"$ref":"#/definitions/InterviewTranscriptMessage"}}},"required":["messages"]},"InterviewUpdate":{"title":"Interview","properties":{"from":{"type":"datetime","description":"Scheduled start time","default":"2026-10-21T16:59:01+00:00"},"to":{"type":"datetime","description":"Scheduled end time","default":"2026-10-21T17:59:01+00:00"},"title":{"type":"string","description":"Title of interview","default":"Interview with Mark"},"notes":{"type":"string","description":"Notes for interviewer","default":"Assess the candidate for system design concepts"},"resume_url":{"type":"string","description":"Candidate's resume link","default":"https://www.example.com/resumes/71884928"},"interviewers":{"type":"array","description":"List of interviewers to invite for the interview. You can either send an array of interviewer'       ' emails or an array of the type: \u003ccode\u003e[{email: 'example@company.com', name: 'Interviewer'}]\u003c/code\u003e. On update, this value is only read to replace the existing interviewers when \u003ccode\u003ereplace_interviewers\u003c/code\u003e is set to true.","items":{"type":"string"},"default":[{"email":"hina@techcorp.com","name":"Hina"}]},"result_url":{"type":"string","description":"Webhook url for results to be posted after interview is ended, or when thumbs/feedback is changed on a completed interview","default":"https://www.techcorp.org/interview_ended"},"candidate":{"type":"object","description":"Candidate to invite for the interview.","default":{"name":"Mark Ramone","email":"me@markramone.com"}},"send_email":{"type":"boolean","description":"Send/Resend invitation email to Interview Attendants.","default":false},"replace_interviewers":{"type":"boolean","description":"If set to true, the interviewers list is replaced with the interviewers provided.","default":false},"metadata":{"type":"object","description":"Any additional information related to the interview.","default":{}},"interview_template_id":{"type":"integer","description":"ID of the interview template","default":1234},"ai_assistant_available":{"type":"boolean","description":"If set to true, AI assistant will be available for this interview. Applicable only when AI add-on and AI assistant setting are enabled for the company.","default":false}},"required":["from","to","title","notes","resume_url","interviewers","result_url","candidate","send_email","replace_interviewers","metadata","interview_template_id","ai_assistant_available"]},"InterviewCreate":{"title":"Interview","properties":{"from":{"type":"datetime","description":"Scheduled start time","default":"2026-10-21T16:59:01+00:00"},"to":{"type":"datetime","description":"Scheduled end time","default":"2026-10-21T17:59:01+00:00"},"title":{"type":"string","description":"Title of interview","default":"Interview with Mark"},"notes":{"type":"string","description":"Notes for interviewer","default":"Assess the candidate for system design concepts"},"resume_url":{"type":"string","description":"Candidate's resume link","default":"https://www.example.com/resumes/71884928"},"interviewers":{"type":"array","description":"List of interviewers to invite for the interview. You can either send an array of interviewer'       ' emails or an array of the type: \u003ccode\u003e[{email: 'example@company.com', name: 'Interviewer'}]\u003c/code\u003e. On update, this value is only read to replace the existing interviewers when \u003ccode\u003ereplace_interviewers\u003c/code\u003e is set to true.","items":{"type":"string"},"default":[{"email":"hina@techcorp.com","name":"Hina"}]},"result_url":{"type":"string","description":"Webhook url for results to be posted after interview is ended, or when thumbs/feedback is changed on a completed interview","default":"https://www.techcorp.org/interview_ended"},"candidate":{"type":"object","description":"Candidate to invite for the interview.","$ref":"#/definitions/CandidateInformation"},"send_email":{"type":"boolean","description":"Send/Resend invitation email to Interview Attendants.","default":false},"replace_interviewers":{"type":"boolean","description":"If set to true, the interviewers list is replaced with the interviewers provided.","default":false},"metadata":{"type":"object","description":"Any additional information related to the interview.","default":{}},"interview_template_id":{"type":"integer","description":"ID of the interview template","default":1234},"ai_assistant_available":{"type":"boolean","description":"If set to true, AI assistant will be available for this interview. Applicable only when AI add-on and AI assistant setting are enabled for the company.","default":false}},"required":["title"]},"InterviewShow":{"title":"Interview","properties":{"id":{"type":"string","description":"ID of interview","default":"289187"},"from":{"type":"datetime","description":"Scheduled start time","default":"2026-10-21T16:59:01+0000"},"to":{"type":"datetime","description":"Scheduled end time","default":"2026-10-21T17:59:01+0000"},"status":{"type":"string","description":"Status of interview","default":"active","enum":["new","active","ended","paused"]},"url":{"type":"string","description":"URL of interview pad","default":"www.hackerrank.com/paper/demo"},"user":{"type":"integer","description":"User who created this interview","default":13245,"expandable":true},"created_at":{"type":"datetime","description":"Time stamp at which interview was created","default":"2026-10-20T16:59:01+0000"},"updated_at":{"type":"datetime","description":"Time stamp at which interview was last updated","default":"2026-10-20T16:59:01+0000"},"title":{"type":"string","description":"Title of interview","default":"Interview with Mark"},"feedback":{"type":"string","description":"Feedback provided by interviewer in the interview","default":"Candidate is good in system design"},"thumbs_up":{"type":"integer","description":"Interviewer's final assessment","default":1},"notes":{"type":"string","description":"Notes for interviewer","default":"Assess the candidate for system design concepts"},"resume_url":{"type":"string","description":"Candidate's resume link","default":"https://www.example.com/resumes/71884928"},"interviewers":{"type":"array","description":"List of interviewers to invite for the interview. You can either send an array of interviewer'       ' emails or an array of the type: \u003ccode\u003e[{email: 'example@company.com', name: 'Interviewer'}]\u003c/code\u003e. On update, this value is only read to replace the existing interviewers when \u003ccode\u003ereplace_interviewers\u003c/code\u003e is set to true.","items":{"type":"string"},"default":[{"email":"hina@techcorp.com","name":"Hina"}]},"result_url":{"type":"string","description":"Webhook url for results to be posted after interview is ended, or when thumbs/feedback is changed on a completed interview","default":"https://www.techcorp.org/interview_ended"},"candidate":{"type":"object","description":"Candidate to invite for the interview.","default":{"name":"Mark Ramone","email":"me@markramone.com"}},"metadata":{"type":"object","description":"Any additional information related to the interview.","default":{}},"report_url":{"type":"string","description":"URL for the interview report","default":"www.hackerrank.com/x/interviews/289sadj1/report"},"started_at":{"type":"datetime","description":"Timestamp when the interview actually starts - when both the candidate and at least one interviewer are in the session. If the virtual lobby is enabled, this is after the candidate has been admitted.","default":"2026-10-20T16:59:01+0000"},"ended_at":{"type":"datetime","description":"Timestamp at which the interview status was changed to ended","default":"2026-10-20T16:59:01+0000"},"interview_template_id":{"type":"integer","description":"ID of the interview template","default":1234},"ai_assistant_available":{"type":"boolean","description":"If set to true, AI assistant will be available for this interview. Applicable only when AI add-on and AI assistant setting are enabled for the company.","default":false}},"required":["id","from","to","status","url","user","created_at","updated_at","title","feedback","thumbs_up","notes","resume_url","interviewers","result_url","candidate","metadata","report_url","started_at","ended_at","interview_template_id","ai_assistant_available"]},"InterviewIndex":{"title":"Interview","properties":{"id":{"type":"string","description":"ID of interview","default":"289187"},"from":{"type":"datetime","description":"Scheduled start time","default":"2026-10-21T16:59:01+0000"},"to":{"type":"datetime","description":"Scheduled end time","default":"2026-10-21T17:59:01+0000"},"status":{"type":"string","description":"Status of interview","default":"active","enum":["new","active","ended","paused"]},"url":{"type":"string","description":"URL of interview pad","default":"www.hackerrank.com/paper/demo"},"user":{"type":"integer","description":"User who created this interview","default":13245,"expandable":true,"filterable":true},"created_at":{"type":"datetime","description":"Time stamp at which interview was created","default":"2026-10-20T16:59:01+0000","filterable":true},"updated_at":{"type":"datetime","description":"Time stamp at which interview was last updated","default":"2026-10-20T16:59:01+0000","filterable":true},"title":{"type":"string","description":"Title of interview","default":"Interview with Mark"},"feedback":{"type":"string","description":"Feedback provided by interviewer in the interview","default":"Candidate is good in system design"},"thumbs_up":{"type":"integer","description":"Interviewer's final assessment","default":1},"notes":{"type":"string","description":"Notes for interviewer","default":"Assess the candidate for system design concepts"},"resume_url":{"type":"string","description":"Candidate's resume link","default":"https://www.example.com/resumes/71884928"},"interviewers":{"type":"array","description":"List of interviewers to invite for the interview. You can either send an array of interviewer'       ' emails or an array of the type: \u003ccode\u003e[{email: 'example@company.com', name: 'Interviewer'}]\u003c/code\u003e. On update, this value is only read to replace the existing interviewers when \u003ccode\u003ereplace_interviewers\u003c/code\u003e is set to true.","items":{"type":"string"},"default":[{"email":"hina@techcorp.com","name":"Hina"}]},"result_url":{"type":"string","description":"Webhook url for results to be posted after interview is ended, or when thumbs/feedback is changed on a completed interview","default":"https://www.techcorp.org/interview_ended"},"candidate":{"type":"object","description":"Candidate to invite for the interview.","default":{"name":"Mark Ramone","email":"me@markramone.com"}},"metadata":{"type":"object","description":"Any additional information related to the interview.","default":{}},"report_url":{"type":"string","description":"URL for the interview report","default":"www.hackerrank.com/x/interviews/289sadj1/report"},"started_at":{"type":"datetime","description":"Timestamp when the interview actually starts - when both the candidate and at least one interviewer are in the session. If the virtual lobby is enabled, this is after the candidate has been admitted.","default":"2026-10-20T16:59:01+0000"},"ended_at":{"type":"datetime","description":"Timestamp at which the interview status was changed to ended","default":"2026-10-20T16:59:01+0000"},"interview_template_id":{"type":"integer","description":"ID of the interview template","default":1234},"ai_assistant_available":{"type":"boolean","description":"If set to true, AI assistant will be available for this interview. Applicable only when AI add-on and AI assistant setting are enabled for the company.","default":false}},"required":["id","from","to","status","url","user","created_at","updated_at","title","feedback","thumbs_up","notes","resume_url","interviewers","result_url","candidate","metadata","report_url","started_at","ended_at","interview_template_id","ai_assistant_available"]},"InterviewRef":{"title":"Interview","properties":{"id":{"type":"string","description":"ID of interview","default":"289187"},"from":{"type":"datetime","description":"Scheduled start time","default":"2026-10-21T16:59:01+0000"},"to":{"type":"datetime","description":"Scheduled end time","default":"2026-10-21T17:59:01+0000"},"status":{"type":"string","description":"Status of interview","default":"active","enum":["new","active","ended","paused"]},"url":{"type":"string","description":"URL of interview pad","default":"www.hackerrank.com/paper/demo"},"created_at":{"type":"datetime","description":"Time stamp at which interview was created","default":"2026-10-20T16:59:01+0000"},"updated_at":{"type":"datetime","description":"Time stamp at which interview was last updated","default":"2026-10-20T16:59:01+0000"},"title":{"type":"string","description":"Title of interview","default":"Interview with Mark"},"feedback":{"type":"string","description":"Feedback provided by interviewer in the interview","default":"Candidate is good in system design"},"thumbs_up":{"type":"integer","description":"Interviewer's final assessment","default":1},"notes":{"type":"string","description":"Notes for interviewer","default":"Assess the candidate for system design concepts"},"resume_url":{"type":"string","description":"Candidate's resume link","default":"https://www.example.com/resumes/71884928"},"interviewers":{"type":"array","description":"List of interviewers to invite for the interview. You can either send an array of interviewer'       ' emails or an array of the type: \u003ccode\u003e[{email: 'example@company.com', name: 'Interviewer'}]\u003c/code\u003e. On update, this value is only read to replace the existing interviewers when \u003ccode\u003ereplace_interviewers\u003c/code\u003e is set to true.","items":{"type":"string"},"default":[{"email":"hina@techcorp.com","name":"Hina"}]},"result_url":{"type":"string","description":"Webhook url for results to be posted after interview is ended, or when thumbs/feedback is changed on a completed interview","default":"https://www.techcorp.org/interview_ended"},"candidate":{"type":"object","description":"Candidate to invite for the interview.","default":{"name":"Mark Ramone","email":"me@markramone.com"}},"send_email":{"type":"boolean","description":"Send/Resend invitation email to Interview Attendants.","default":false},"replace_interviewers":{"type":"boolean","description":"If set to true, the interviewers list is replaced with the interviewers provided.","default":false},"metadata":{"type":"object","description":"Any additional information related to the interview.","default":{}},"report_url":{"type":"string","description":"URL for the interview report","default":"www.hackerrank.com/x/interviews/289sadj1/report"},"started_at":{"type":"datetime","description":"Timestamp when the interview actually starts - when both the candidate and at least one interviewer are in the session. If the virtual lobby is enabled, this is after the candidate has been admitted.","default":"2026-10-20T16:59:01+0000"},"ended_at":{"type":"datetime","description":"Timestamp at which the interview status was changed to ended","default":"2026-10-20T16:59:01+0000"},"interview_template_id":{"type":"integer","description":"ID of the interview template","default":1234},"ai_assistant_available":{"type":"boolean","description":"If set to true, AI assistant will be available for this interview. Applicable only when AI add-on and AI assistant setting are enabled for the company.","default":false}},"required":["id","from","to","status","url","created_at","updated_at","title","feedback","thumbs_up","notes","resume_url","interviewers","result_url","candidate","send_email","replace_interviewers","metadata","report_url","started_at","ended_at","interview_template_id","ai_assistant_available"]},"InterviewTemplateUpdate":{"title":"InterviewTemplate","properties":{"name":{"type":"string","description":"Name of the interview template","default":"Frontend Developer Interview Template"},"roles":{"type":"array","description":"Array of role unique IDs associated with the interview template","items":{"type":"string"},"default":["8b1o41tbpiq"]},"team_share":{"type":"integer","description":"Team sharing permission level (0: None, 1: Read, 2: Write, 3: Delete)","default":1,"enum":[0,1,2,3]},"questions":{"type":"array","description":"Array of question IDs associated with the interview template","items":{"type":"string"},"default":[1939659]},"scorecard":{"type":"integer","description":"ID of the scorecard associated with the interview template","default":98765}},"required":["name","roles","team_share","questions","scorecard"]},"InterviewTemplateCreate":{"title":"InterviewTemplate","properties":{"name":{"type":"string","description":"Name of the interview template","default":"Frontend Developer Interview Template"},"roles":{"type":"array","description":"Array of role unique IDs associated with the interview template","items":{"type":"string"},"default":["8b1o41tbpiq"]},"team_share":{"type":"integer","description":"Team sharing permission level (0: None, 1: Read, 2: Write, 3: Delete)","default":1,"enum":[0,1,2,3]},"questions":{"type":"array","description":"Array of question IDs associated with the interview template","items":{"type":"string"},"default":[1939659]},"scorecard":{"type":"integer","description":"ID of the scorecard associated with the interview template","default":98765}},"required":["name"]},"InterviewTemplateShow":{"title":"InterviewTemplate","properties":{"id":{"type":"integer","description":"ID of interview template","default":12345},"name":{"type":"string","description":"Name of the interview template","default":"Frontend Developer Interview Template"},"created_at":{"type":"datetime","description":"Timestamp at which interview template was created","default":"2026-10-20T16:59:01+0000"},"status":{"type":"integer","description":"Status of interview template (0: Deleted, 1: Active)","default":1,"enum":[0,1]},"user":{"type":"integer","description":"User who created this interview template","default":13245,"expandable":true},"roles":{"type":"array","description":"Array of role unique IDs associated with the interview template","items":{"type":"string"},"default":["8b1o41tbpiq"],"expandable":true},"team_share":{"type":"integer","description":"Team sharing permission level (0: None, 1: Read, 2: Write, 3: Delete)","default":1,"enum":[0,1,2,3]},"questions":{"type":"array","description":"Array of question IDs associated with the interview template","items":{"type":"string"},"default":[1939659]},"scorecard":{"type":"integer","description":"ID of the scorecard associated with the interview template","default":98765,"expandable":true},"import_template":{"type":"boolean","description":"Whether all questions from this template can be imported at once (true when template has 5 or fewer questions)","default":true},"editor_access":{"type":"boolean","description":"Whether current user has editor access to the template","default":true}},"required":["id","name","created_at","status","user","roles","team_share","questions","scorecard","import_template","editor_access"]},"InterviewTemplateIndex":{"title":"InterviewTemplate","properties":{"id":{"type":"integer","description":"ID of interview template","default":12345},"name":{"type":"string","description":"Name of the interview template","default":"Frontend Developer Interview Template"},"created_at":{"type":"datetime","description":"Timestamp at which interview template was created","default":"2026-10-20T16:59:01+0000"},"status":{"type":"integer","description":"Status of interview template (0: Deleted, 1: Active)","default":1,"enum":[0,1]},"user":{"type":"integer","description":"User who created this interview template","default":13245,"expandable":true},"roles":{"type":"array","description":"Array of role unique IDs associated with the interview template","items":{"type":"string"},"default":["8b1o41tbpiq"],"expandable":true},"team_share":{"type":"integer","description":"Team sharing permission level (0: None, 1: Read, 2: Write, 3: Delete)","default":1,"enum":[0,1,2,3]},"questions":{"type":"array","description":"Array of question IDs associated with the interview template","items":{"type":"string"},"default":[1939659]},"scorecard":{"type":"integer","description":"ID of the scorecard associated with the interview template","default":98765,"expandable":true},"import_template":{"type":"boolean","description":"Whether all questions from this template can be imported at once (true when template has 5 or fewer questions)","default":true},"editor_access":{"type":"boolean","description":"Whether current user has editor access to the template","default":true}},"required":["id","name","created_at","status","user","roles","team_share","questions","scorecard","import_template","editor_access"]},"InterviewTemplateRef":{"title":"InterviewTemplate","properties":{"id":{"type":"integer","description":"ID of interview template","default":12345},"name":{"type":"string","description":"Name of the interview template","default":"Frontend Developer Interview Template"},"created_at":{"type":"datetime","description":"Timestamp at which interview template was created","default":"2026-10-20T16:59:01+0000"},"status":{"type":"integer","description":"Status of interview template (0: Deleted, 1: Active)","default":1,"enum":[0,1]},"team_share":{"type":"integer","description":"Team sharing permission level (0: None, 1: Read, 2: Write, 3: Delete)","default":1,"enum":[0,1,2,3]},"questions":{"type":"array","description":"Array of question IDs associated with the interview template","items":{"type":"string"},"default":[1939659]},"import_template":{"type":"boolean","description":"Whether all questions from this template can be imported at once (true when template has 5 or fewer questions)","default":true},"editor_access":{"type":"boolean","description":"Whether current user has editor access to the template","default":true}},"required":["id","name","created_at","status","team_share","questions","import_template","editor_access"]},"QuestionUpdate":{"title":"Question","properties":{"type":{"type":"string","description":"Type of question","default":"code","enum":["code","approx","mcq","multiple_mcq","whiteboard","file_upload","textAns"]},"internal_notes":{"type":"string","description":"Internal notes for the question. This will be rendered as HTML","default":"\u003cp\u003eThis question has brute force solution of \u003cb\u003eO(n)\u003c/b\u003e and optimized solution of \u003cb\u003eO(logn)\u003c/b\u003e\u003c/p\u003e"},"name":{"type":"string","description":"Name of the question","default":"New question"},"languages":{"type":"array","description":"Languages available for this question. This is only available for code/approx question types.","items":{"type":"string"},"default":["c","clojure","cobol","cpp","csharp","d","erlang","fortran","fsharp","go","groovy","hack","haskell","java","java15","java17","java21","java8","javascript","lua","objectivec","ocaml","pascal","perl","php","python","python3","racket","ruby","rust","sbcl","scala","smalltalk","swift","visualbasic"]},"problem_statement":{"type":"string","description":"Problem statement for the question. Note: This will be rendered as HTML","default":"\u003cp\u003eProblem statement \u003c/p\u003e"},"recommended_duration":{"type":"integer","description":"Recommended time in minutes to solve the question","default":1},"tags":{"type":"array","description":"Array of tags to associate with this question","items":{"type":"string"},"default":["tag1","tag2","tag3"]},"options":{"type":"array","description":"Array of options available for multiple choice questions. This is only available for \u003ccode\u003emcq\u003c/code\u003e/\u003ccode\u003emultiple_mcq\u003c/code\u003e question types.\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [\"option1\", \"option2\", \"option3\"]","items":{"type":"string"},"default":null},"answer":{"type":["integer","array"],"description":"Index (starting from 1) of the correct option for type \u003ccode\u003emcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e 1 for the first option in the options array\u003cbr\u003e\u003cbr\u003eIndices (starting from 1) of the correct options for type \u003ccode\u003emultiple_mcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [2, 3] for the second and third options in the options array","default":null}},"required":["type","internal_notes","name","languages","problem_statement","recommended_duration","tags","options","answer"]},"QuestionCreate":{"title":"Question","properties":{"type":{"type":"string","description":"Type of question","default":"code","enum":["code","approx","mcq","multiple_mcq","whiteboard","file_upload","textAns"]},"internal_notes":{"type":"string","description":"Internal notes for the question. This will be rendered as HTML","default":"\u003cp\u003eThis question has brute force solution of \u003cb\u003eO(n)\u003c/b\u003e and optimized solution of \u003cb\u003eO(logn)\u003c/b\u003e\u003c/p\u003e"},"name":{"type":"string","description":"Name of the question","default":"New question"},"languages":{"type":"array","description":"Languages available for this question. This is only available for code/approx question types.","items":{"type":"string"},"default":["c","clojure","cobol","cpp","csharp","d","erlang","fortran","fsharp","go","groovy","hack","haskell","java","java15","java17","java21","java8","javascript","lua","objectivec","ocaml","pascal","perl","php","python","python3","racket","ruby","rust","sbcl","scala","smalltalk","swift","visualbasic"]},"problem_statement":{"type":"string","description":"Problem statement for the question. Note: This will be rendered as HTML","default":"\u003cp\u003eProblem statement \u003c/p\u003e"},"recommended_duration":{"type":"integer","description":"Recommended time in minutes to solve the question","default":1},"tags":{"type":"array","description":"Array of tags to associate with this question","items":{"type":"string"},"default":["tag1","tag2","tag3"]},"options":{"type":"array","description":"Array of options available for multiple choice questions. This is only available for \u003ccode\u003emcq\u003c/code\u003e/\u003ccode\u003emultiple_mcq\u003c/code\u003e question types.\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [\"option1\", \"option2\", \"option3\"]","items":{"type":"string"},"default":null},"answer":{"type":["integer","array"],"description":"Index (starting from 1) of the correct option for type \u003ccode\u003emcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e 1 for the first option in the options array\u003cbr\u003e\u003cbr\u003eIndices (starting from 1) of the correct options for type \u003ccode\u003emultiple_mcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [2, 3] for the second and third options in the options array","default":null}},"required":["type","name","problem_statement","recommended_duration"]},"QuestionShow":{"title":"Question","properties":{"id":{"type":"string","description":"ID of question","default":"2psql21H"},"unique_id":{"type":"string","description":"Unique ID of question","default":"f9pr5p1q9rh"},"type":{"type":"string","description":"Type of question","default":"code","enum":["code","approx","mcq","multiple_mcq","whiteboard","file_upload","textAns"]},"owner":{"type":"string","description":"ID of the user who created this question","default":"bn109na"},"created_at":{"type":"datetime","description":"Time stamp at which this question was created","default":"2026-10-20T16:59:01+0000"},"status":{"type":"string","description":"Current status of this question","default":"active","enum":["archived","active"]},"internal_notes":{"type":"string","description":"Internal notes for the question. This will be rendered as HTML","default":"\u003cp\u003eThis question has brute force solution of \u003cb\u003eO(n)\u003c/b\u003e and optimized solution of \u003cb\u003eO(logn)\u003c/b\u003e\u003c/p\u003e"},"name":{"type":"string","description":"Name of the question","default":"New question"},"languages":{"type":"array","description":"Languages available for this question. This is only available for code/approx question types.","items":{"type":"string"},"default":["c","clojure","cobol","cpp","csharp","d","erlang","fortran","fsharp","go","groovy","hack","haskell","java","java15","java17","java21","java8","javascript","lua","objectivec","ocaml","pascal","perl","php","python","python3","racket","ruby","rust","sbcl","scala","smalltalk","swift","visualbasic"]},"problem_statement":{"type":"string","description":"Problem statement for the question. Note: This will be rendered as HTML","default":"\u003cp\u003eProblem statement \u003c/p\u003e"},"recommended_duration":{"type":"integer","description":"Recommended time in minutes to solve the question","default":1},"tags":{"type":"array","description":"Array of tags to associate with this question","items":{"type":"string"},"default":["tag1","tag2","tag3"]},"max_score":{"type":"float","description":"Maximum score of the question","default":100.0},"options":{"type":"array","description":"Array of options available for multiple choice questions. This is only available for \u003ccode\u003emcq\u003c/code\u003e/\u003ccode\u003emultiple_mcq\u003c/code\u003e question types.\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [\"option1\", \"option2\", \"option3\"]","items":{"type":"string"},"default":null},"answer":{"type":["integer","array"],"description":"Index (starting from 1) of the correct option for type \u003ccode\u003emcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e 1 for the first option in the options array\u003cbr\u003e\u003cbr\u003eIndices (starting from 1) of the correct options for type \u003ccode\u003emultiple_mcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [2, 3] for the second and third options in the options array","default":null}},"required":["id","unique_id","type","owner","created_at","status","internal_notes","name","languages","problem_statement","recommended_duration","tags","max_score","options","answer"]},"QuestionIndex":{"title":"Question","properties":{"id":{"type":"string","description":"ID of question","default":"2psql21H"},"unique_id":{"type":"string","description":"Unique ID of question","default":"f9pr5p1q9rh"},"type":{"type":"string","description":"Type of question","default":"code","enum":["code","approx","mcq","multiple_mcq","whiteboard","file_upload","textAns"]},"owner":{"type":"string","description":"ID of the user who created this question","default":"bn109na"},"created_at":{"type":"datetime","description":"Time stamp at which this question was created","default":"2026-10-20T16:59:01+0000"},"status":{"type":"string","description":"Current status of this question","default":"active","enum":["archived","active"]},"internal_notes":{"type":"string","description":"Internal notes for the question. This will be rendered as HTML","default":"\u003cp\u003eThis question has brute force solution of \u003cb\u003eO(n)\u003c/b\u003e and optimized solution of \u003cb\u003eO(logn)\u003c/b\u003e\u003c/p\u003e"},"name":{"type":"string","description":"Name of the question","default":"New question"},"languages":{"type":"array","description":"Languages available for this question. This is only available for code/approx question types.","items":{"type":"string"},"default":["c","clojure","cobol","cpp","csharp","d","erlang","fortran","fsharp","go","groovy","hack","haskell","java","java15","java17","java21","java8","javascript","lua","objectivec","ocaml","pascal","perl","php","python","python3","racket","ruby","rust","sbcl","scala","smalltalk","swift","visualbasic"]},"problem_statement":{"type":"string","description":"Problem statement for the question. Note: This will be rendered as HTML","default":"\u003cp\u003eProblem statement \u003c/p\u003e"},"recommended_duration":{"type":"integer","description":"Recommended time in minutes to solve the question","default":1},"tags":{"type":"array","description":"Array of tags to associate with this question","items":{"type":"string"},"default":["tag1","tag2","tag3"]},"max_score":{"type":"float","description":"Maximum score of the question","default":100.0},"options":{"type":"array","description":"Array of options available for multiple choice questions. This is only available for \u003ccode\u003emcq\u003c/code\u003e/\u003ccode\u003emultiple_mcq\u003c/code\u003e question types.\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [\"option1\", \"option2\", \"option3\"]","items":{"type":"string"},"default":null},"answer":{"type":["integer","array"],"description":"Index (starting from 1) of the correct option for type \u003ccode\u003emcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e 1 for the first option in the options array\u003cbr\u003e\u003cbr\u003eIndices (starting from 1) of the correct options for type \u003ccode\u003emultiple_mcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [2, 3] for the second and third options in the options array","default":null}},"required":["id","unique_id","type","owner","created_at","status","internal_notes","name","languages","problem_statement","recommended_duration","tags","max_score","options","answer"]},"QuestionRef":{"title":"Question","properties":{"id":{"type":"string","description":"ID of question","default":"2psql21H"},"unique_id":{"type":"string","description":"Unique ID of question","default":"f9pr5p1q9rh"},"type":{"type":"string","description":"Type of question","default":"code","enum":["code","approx","mcq","multiple_mcq","whiteboard","file_upload","textAns"]},"owner":{"type":"string","description":"ID of the user who created this question","default":"bn109na"},"created_at":{"type":"datetime","description":"Time stamp at which this question was created","default":"2026-10-20T16:59:01+0000"},"status":{"type":"string","description":"Current status of this question","default":"active","enum":["archived","active"]},"internal_notes":{"type":"string","description":"Internal notes for the question. This will be rendered as HTML","default":"\u003cp\u003eThis question has brute force solution of \u003cb\u003eO(n)\u003c/b\u003e and optimized solution of \u003cb\u003eO(logn)\u003c/b\u003e\u003c/p\u003e"},"name":{"type":"string","description":"Name of the question","default":"New question"},"languages":{"type":"array","description":"Languages available for this question. This is only available for code/approx question types.","items":{"type":"string"},"default":["c","clojure","cobol","cpp","csharp","d","erlang","fortran","fsharp","go","groovy","hack","haskell","java","java15","java17","java21","java8","javascript","lua","objectivec","ocaml","pascal","perl","php","python","python3","racket","ruby","rust","sbcl","scala","smalltalk","swift","visualbasic"]},"problem_statement":{"type":"string","description":"Problem statement for the question. Note: This will be rendered as HTML","default":"\u003cp\u003eProblem statement \u003c/p\u003e"},"recommended_duration":{"type":"integer","description":"Recommended time in minutes to solve the question","default":1},"tags":{"type":"array","description":"Array of tags to associate with this question","items":{"type":"string"},"default":["tag1","tag2","tag3"]},"max_score":{"type":"float","description":"Maximum score of the question","default":100.0},"options":{"type":"array","description":"Array of options available for multiple choice questions. This is only available for \u003ccode\u003emcq\u003c/code\u003e/\u003ccode\u003emultiple_mcq\u003c/code\u003e question types.\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [\"option1\", \"option2\", \"option3\"]","items":{"type":"string"},"default":null},"answer":{"type":["integer","array"],"description":"Index (starting from 1) of the correct option for type \u003ccode\u003emcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e 1 for the first option in the options array\u003cbr\u003e\u003cbr\u003eIndices (starting from 1) of the correct options for type \u003ccode\u003emultiple_mcq\u003c/code\u003e\u003cbr\u003e\u003cem\u003eExample:\u003c/em\u003e [2, 3] for the second and third options in the options array","default":null}},"required":["id","unique_id","type","owner","created_at","status","internal_notes","name","languages","problem_statement","recommended_duration","tags","max_score","options","answer"]},"TemplateUpdate":{"title":"Template","properties":{"name":{"type":"string","description":"Name of the template","default":"New template"},"subject":{"type":"string","description":"Subject of the template","default":"Subject"},"content":{"type":"string","description":"HTML content of the template","default":"\u003cp\u003eHello\u003c/p\u003e"},"default":{"type":"boolean","description":"Invite template is default or not","default":false}},"required":["name","subject","content","default"]},"TemplateCreate":{"title":"Template","properties":{"name":{"type":"string","description":"Name of the template","default":"New template"},"subject":{"type":"string","description":"Subject of the template","default":"Subject"},"content":{"type":"string","description":"HTML content of the template","default":"\u003cp\u003eHello\u003c/p\u003e"},"default":{"type":"boolean","description":"Invite template is default or not","default":false}},"required":["name","subject","content"]},"TemplateShow":{"title":"Template","properties":{"id":{"type":"string","description":"ID of template","default":"2psql21H"},"name":{"type":"string","description":"Name of the template","default":"New template"},"subject":{"type":"string","description":"Subject of the template","default":"Subject"},"content":{"type":"string","description":"HTML content of the template","default":"\u003cp\u003eHello\u003c/p\u003e"},"default":{"type":"boolean","description":"Invite template is default or not","default":false},"created_at":{"type":"datetime","description":"Time stamp at which this template was created","default":"2026-10-20T00:00:00+0000"},"updated_at":{"type":"datetime","description":"Time stamp at which this template was last updated","default":"2026-10-20T00:00:00+0000"},"user":{"type":"string","description":"ID of the user who created this template","default":"bn109na"}},"required":["id","name","subject","content","default","created_at","updated_at","user"]},"TemplateIndex":{"title":"Template","properties":{"id":{"type":"string","description":"ID of template","default":"2psql21H"},"name":{"type":"string","description":"Name of the template","default":"New template"},"subject":{"type":"string","description":"Subject of the template","default":"Subject"},"content":{"type":"string","description":"HTML content of the template","default":"\u003cp\u003eHello\u003c/p\u003e"},"default":{"type":"boolean","description":"Invite template is default or not","default":false},"created_at":{"type":"datetime","description":"Time stamp at which this template was created","default":"2026-10-20T00:00:00+0000"},"updated_at":{"type":"datetime","description":"Time stamp at which this template was last updated","default":"2026-10-20T00:00:00+0000"},"user":{"type":"string","description":"ID of the user who created this template","default":"bn109na"}},"required":["id","name","subject","content","default","created_at","updated_at","user"]},"TemplateRef":{"title":"Template","properties":{"id":{"type":"string","description":"ID of template","default":"2psql21H"},"name":{"type":"string","description":"Name of the template","default":"New template"},"subject":{"type":"string","description":"Subject of the template","default":"Subject"},"content":{"type":"string","description":"HTML content of the template","default":"\u003cp\u003eHello\u003c/p\u003e"},"default":{"type":"boolean","description":"Invite template is default or not","default":false},"created_at":{"type":"datetime","description":"Time stamp at which this template was created","default":"2026-10-20T00:00:00+0000"},"updated_at":{"type":"datetime","description":"Time stamp at which this template was last updated","default":"2026-10-20T00:00:00+0000"},"user":{"type":"string","description":"ID of the user who created this template","default":"bn109na"}},"required":["id","name","subject","content","default","created_at","updated_at","user"]},"AuditLogUpdate":{"title":"AuditLog","required":[]},"AuditLogCreate":{"title":"AuditLog","required":[]},"AuditLogShow":{"title":"AuditLog","properties":{"source_id":{"type":"integer","description":"ID of the changed object","default":12345},"source_type":{"type":"string","description":"Name of the changed object","default":"user","enum":["user","test","test_candidate","team","user_membership","company","question"]},"user":{"type":"string","description":"User, who changed the object","default":"54321","expandable":true},"action":{"type":"string","description":"Action, which triggered the changes(create, update, destroy)","default":"update"},"modified_fields":{"type":"array","description":"List of changed fields","items":{"type":"string"},"default":["firstname","lastname"]},"modified_values":{"type":"object","description":"A changed object","default":{"firstname":{"from":"Mark","to":"Andrew"},"lastname":{"from":"Peirson","to":"Symonds"}}},"ip_address":{"type":"string","description":"IP address from where the changes was triggered","default":"8.8.8.8"},"created_at":{"type":"dateTime","description":"Timestamp at which these changes was made","default":"2026-10-21T16:59:01+0000"}},"required":["source_id","source_type","user","action","modified_fields","modified_values","ip_address","created_at"]},"AuditLogIndex":{"title":"AuditLog","properties":{"source_id":{"type":"integer","description":"ID of the changed object","default":12345,"filterable":true},"source_type":{"type":"string","description":"Name of the changed object","default":"user","enum":["user","test","test_candidate","team","user_membership","company","question"],"filterable":true},"user":{"type":"string","description":"User, who changed the object","default":"54321","expandable":true,"filterable":true},"action":{"type":"string","description":"Action, which triggered the changes(create, update, destroy)","default":"update"},"modified_fields":{"type":"array","description":"List of changed fields","items":{"type":"string"},"default":["firstname","lastname"]},"modified_values":{"type":"object","description":"A changed object","default":{"firstname":{"from":"Mark","to":"Andrew"},"lastname":{"from":"Peirson","to":"Symonds"}}},"ip_address":{"type":"string","description":"IP address from where the changes was triggered","default":"8.8.8.8","filterable":true},"created_at":{"type":"dateTime","description":"Timestamp at which these changes was made","default":"2026-10-21T16:59:01+0000","filterable":true}},"required":["source_id","source_type","user","action","modified_fields","modified_values","ip_address","created_at"]},"AuditLogRef":{"title":"AuditLog","properties":{"source_id":{"type":"integer","description":"ID of the changed object","default":12345},"source_type":{"type":"string","description":"Name of the changed object","default":"user","enum":["user","test","test_candidate","team","user_membership","company","question"]},"action":{"type":"string","description":"Action, which triggered the changes(create, update, destroy)","default":"update"},"modified_fields":{"type":"array","description":"List of changed fields","items":{"type":"string"},"default":["firstname","lastname"]},"modified_values":{"type":"object","description":"A changed object","default":{"firstname":{"from":"Mark","to":"Andrew"},"lastname":{"from":"Peirson","to":"Symonds"}}},"ip_address":{"type":"string","description":"IP address from where the changes was triggered","default":"8.8.8.8"},"created_at":{"type":"dateTime","description":"Timestamp at which these changes was made","default":"2026-10-21T16:59:01+0000"}},"required":["source_id","source_type","action","modified_fields","modified_values","ip_address","created_at"]},"ATSCodeScreenUpdate":{"title":"ATSCodeScreen","properties":{"test_id":{"type":"string","description":"Test id for the candidate.","default":"123"},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"300BR"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"5432"},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook.","default":null},"webhook_authentication":{"type":"object","description":"Authentication configuration for the webhook URL. Required when test_result_url is provided.","$ref":"#/definitions/WebhookAuthentication"},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false}},"required":["test_id","requisition_id","candidate_id","test_result_url","webhook_authentication","accept_result_updates"]},"ATSCodeScreenCreate":{"title":"ATSCodeScreen","properties":{"test_id":{"type":"string","description":"Test id for the candidate.","default":"123"},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"300BR"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"5432"},"email":{"type":"string","description":"Email address of the candidate.","default":"alice.wonders@email.com"},"send_email":{"type":"boolean","description":"Flag to send the invite email to the candidate. Defaults to \"false\"; the invite is recorded but no email is sent. Pass \"true\" to send the invitation email.","default":false},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook.","default":null},"webhook_authentication":{"type":"object","description":"Authentication configuration for the webhook URL. Required when test_result_url is provided.","$ref":"#/definitions/WebhookAuthentication"},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false},"force":{"type":"boolean","description":"Flag which forces sending an email even when the candidate has already been invited. Must be true if sending the same test from multiple requisitions.","default":false},"force_reattempt_after":{"type":"integer","description":"Force re-invite the candidate if the previous attempt is older than the current time minus this value (in seconds).","default":31556952},"accommodations":{"type":"object","description":"Object containing candidate accommodations.","$ref":"#/definitions/CandidateAccommodations"}},"required":["test_id","requisition_id","candidate_id","email"]},"ATSCodeScreenShow":{"title":"ATSCodeScreen","properties":{"test_id":{"type":"string","description":"Test id for the candidate.","default":"123"},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"300BR"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"5432"},"email":{"type":"string","description":"Email address of the candidate.","default":"alice.wonders@email.com"},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook.","default":null},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false}},"required":["test_id","requisition_id","candidate_id","email","test_result_url","accept_result_updates"]},"ATSCodeScreenIndex":{"title":"ATSCodeScreen","properties":{"test_id":{"type":"string","description":"Test id for the candidate.","default":"123"},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"300BR"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"5432"},"email":{"type":"string","description":"Email address of the candidate.","default":"alice.wonders@email.com","filterable":true},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook.","default":null},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false}},"required":["test_id","requisition_id","candidate_id","email","test_result_url","accept_result_updates"]},"ATSCodeScreenRef":{"title":"ATSCodeScreen","properties":{"test_id":{"type":"string","description":"Test id for the candidate.","default":"123"},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"300BR"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"5432"},"email":{"type":"string","description":"Email address of the candidate.","default":"alice.wonders@email.com"},"send_email":{"type":"boolean","description":"Flag to send the invite email to the candidate. Defaults to \"false\"; the invite is recorded but no email is sent. Pass \"true\" to send the invitation email.","default":false},"test_result_url":{"type":"string","description":"Webhook URL for candidate report. When the report is processed the report data will be sent to this URL as a webhook.","default":null},"webhook_authentication":{"type":"object","description":"Authentication configuration for the webhook URL. Required when test_result_url is provided.","default":null},"accept_result_updates":{"type":"boolean","description":"Flag to send score and status updates to the test_result_url. Please set to \"true\" if you accept updates. Default is \"false\".","default":false},"force":{"type":"boolean","description":"Flag which forces sending an email even when the candidate has already been invited. Must be true if sending the same test from multiple requisitions.","default":false},"force_reattempt_after":{"type":"integer","description":"Force re-invite the candidate if the previous attempt is older than the current time minus this value (in seconds).","default":31556952},"accommodations":{"type":"object","description":"Object containing candidate accommodations.","default":null}},"required":["test_id","requisition_id","candidate_id","email","send_email","test_result_url","webhook_authentication","accept_result_updates","force","force_reattempt_after","accommodations"]},"ATSCodePairUpdate":{"title":"ATSCodePair","properties":{"title":{"type":"string","description":"Title of the interview.","default":"Interview with Bruce Wayne."},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"BATCAVE-093"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"BATMAN-001"}},"required":["title","requisition_id","candidate_id"]},"ATSCodePairCreate":{"title":"ATSCodePair","properties":{"title":{"type":"string","description":"Title of the interview.","default":"Interview with Bruce Wayne."},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"BATCAVE-093"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"BATMAN-001"},"candidate":{"type":"object","description":"Object containing candidate information.","$ref":"#/definitions/CandidateInformation"},"send_email":{"type":"boolean","description":"Flag to send the invite email to the candidate. Defaults to \"false\"; the interview is created but no email is sent. Pass \"true\" to send the invitation email.","default":false},"interview_metadata":{"type":"object","description":"Object containing metadata for the interview.","$ref":"#/definitions/InterviewMetadata"}},"required":["title","requisition_id","candidate_id"]},"ATSCodePairShow":{"title":"ATSCodePair","properties":{"title":{"type":"string","description":"Title of the interview.","default":"Interview with Bruce Wayne."},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"BATCAVE-093"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"BATMAN-001"}},"required":["title","requisition_id","candidate_id"]},"ATSCodePairIndex":{"title":"ATSCodePair","properties":{"title":{"type":"string","description":"Title of the interview.","default":"Interview with Bruce Wayne."},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"BATCAVE-093"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"BATMAN-001"}},"required":["title","requisition_id","candidate_id"]},"ATSCodePairRef":{"title":"ATSCodePair","properties":{"title":{"type":"string","description":"Title of the interview.","default":"Interview with Bruce Wayne."},"requisition_id":{"type":"string","description":"ATS specific requisition id.","default":"BATCAVE-093"},"candidate_id":{"type":"string","description":"ATS specific candidate id.","default":"BATMAN-001"},"candidate":{"type":"object","description":"Object containing candidate information.","default":null},"send_email":{"type":"boolean","description":"Flag to send the invite email to the candidate. Defaults to \"false\"; the interview is created but no email is sent. Pass \"true\" to send the invitation email.","default":false},"interview_metadata":{"type":"object","description":"Object containing metadata for the interview.","default":null}},"required":["title","requisition_id","candidate_id","candidate","send_email","interview_metadata"]},"SCIMPatchUpdate":{"title":"SCIMPatch","properties":{"operations":{"type":"array","description":"Array of PATCH operations that should be performed to update the resource's information. Each PATCH operation must have exactly one `op` member","items":{"type":"string"},"default":[]}},"required":["operations"]},"SCIMPatchCreate":{"title":"SCIMPatch","properties":{"operations":{"type":"array","description":"Array of PATCH operations that should be performed to update the resource's information. Each PATCH operation must have exactly one `op` member","items":{"$ref":"#/definitions/PatchOperationObject"}}},"required":["operations"]},"SCIMPatchShow":{"title":"SCIMPatch","properties":{"operations":{"type":"array","description":"Array of PATCH operations that should be performed to update the resource's information. Each PATCH operation must have exactly one `op` member","items":{"type":"string"},"default":[]}},"required":["operations"]},"SCIMPatchIndex":{"title":"SCIMPatch","properties":{"operations":{"type":"array","description":"Array of PATCH operations that should be performed to update the resource's information. Each PATCH operation must have exactly one `op` member","items":{"type":"string"},"default":[]}},"required":["operations"]},"SCIMPatchRef":{"title":"SCIMPatch","properties":{"operations":{"type":"array","description":"Array of PATCH operations that should be performed to update the resource's information. Each PATCH operation must have exactly one `op` member","items":{"type":"string"},"default":[]}},"required":["operations"]},"AttemptMetric":{"title":"AttemptMetric","description":"A metric record with a shared \u003ccode\u003etype\u003c/code\u003e, \u003ccode\u003estatus\u003c/code\u003e, and \u003ccode\u003emetric_data\u003c/code\u003e shape. The attempt-level \u003ccode\u003eattempt_metrics\u003c/code\u003e field contains AI fluency; the per-question \u003ccode\u003emetrics\u003c/code\u003e array can contain AI fluency or code quality. The contents of \u003ccode\u003emetric_data\u003c/code\u003e depend on the metric type.\u003cbr /\u003e\u003cbr /\u003e\u003cem\u003eAI fluency is an evolving feature — data fields, rubric keys, and reasoning entry shapes may change as the evaluation model is improved.\u003c/em\u003e","properties":{"type":{"type":"string","default":"ai_fluency","description":"Metric type. Known values are \"ai_fluency\" and \"code_quality\"; attempt-level metrics currently contain only \"ai_fluency\"."},"status":{"type":"string","default":"available","enum":["available","not_applicable"],"description":"\"available\" when \u003ccode\u003emetric_data\u003c/code\u003e is present, or \"not_applicable\" when no usable metric data is available (the \u003ccode\u003emetric_data\u003c/code\u003e field is omitted). For code quality, \u003ccode\u003emetric_data.status\u003c/code\u003e separately describes report processing and may be \"in progress\", \"failed\", or another report status."},"metric_data":{"type":"object","default":{"ai_fluency_grade":"C","ai_fluency_summary":["The candidate demonstrated limited context quality, critical thinking, and collaboration. Thus, the overall AI fluency is limited with a grade of C."],"rubrics":{"collaboration":{"grade":"C","reasoning":[{"type":"text","text":"The candidate rarely built on the AI assistant's suggestions."},{"type":"citation","data":[{"key":"Go ahead prompt","messages":[{"text":"go ahead","message_id":"request_0f346e86-3e55-4775-997a-d0ab06ad12da","question_id":"763147"}]},{"key":"Nothing applied after guidance","events":[{"offset":"1786449564906.1","summary":"submitted immediately after receiving file guidance, with zero edits to any file","event_id":"de9f7a4f-e952-4024-9a26-d043bc1fbf0c","event_type":"submission_attempted"}]}]}]},"context_quality":{"grade":"B","reasoning":[{"type":"text","text":"The candidate provided clear error messages and code context in most prompts."}]},"critical_thinking":{"grade":"C","reasoning":[{"type":"text","text":"The candidate relied on the AI assistant before attempting an independent approach."}]}}},"description":"Present only when status is \"available\". Fields:\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eai_fluency_grade\u003c/b\u003e\u003c/code\u003e (string) — Overall grade: \u003ccode\u003eA\u003c/code\u003e, \u003ccode\u003eB\u003c/code\u003e, \u003ccode\u003eC\u003c/code\u003e, or \u003ccode\u003eNA\u003c/code\u003e. Absent on older records that predate grading — those records contain only \u003ccode\u003eai_fluency_summary\u003c/code\u003e.\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eai_fluency_summary\u003c/b\u003e\u003c/code\u003e (array of strings) — Human-readable summary sentences describing the candidate's AI usage. Always present.\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003erubrics\u003c/b\u003e\u003c/code\u003e (object) — Per-rubric breakdown, keyed by rubric name (presently \u003ccode\u003ecollaboration\u003c/code\u003e, \u003ccode\u003econtext_quality\u003c/code\u003e, \u003ccode\u003ecritical_thinking\u003c/code\u003e). Absent whenever \u003ccode\u003eai_fluency_grade\u003c/code\u003e is absent or is \u003ccode\u003eNA\u003c/code\u003e. Each rubric contains:\u003cbr /\u003e\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u003ccode\u003e\u003cb\u003egrade\u003c/b\u003e\u003c/code\u003e (string) — Same enum as \u003ccode\u003eai_fluency_grade\u003c/code\u003e.\u003cbr /\u003e\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u003ccode\u003e\u003cb\u003ereasoning\u003c/b\u003e\u003c/code\u003e (array) — Ordered entries explaining the grade, typically one \u003ccode\u003etext\u003c/code\u003e entry followed by one or more \u003ccode\u003ecitation\u003c/code\u003e entries. Each entry has a \u003ccode\u003etype\u003c/code\u003e field — one of:\u003cbr /\u003e\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003ccode\u003etype: \"text\"\u003c/code\u003e — Natural-language summary of the rubric grade.\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- \u003ccode\u003etext\u003c/code\u003e — the explanation string.\u003cbr /\u003e\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003ccode\u003etype: \"citation\"\u003c/code\u003e — Grouped evidence from the candidate's session. Contains a \u003ccode\u003edata\u003c/code\u003e array; each group has:\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- \u003ccode\u003ekey\u003c/code\u003e — short label for the evidence group.\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- \u003ccode\u003emessages\u003c/code\u003e (optional) — chat-transcript evidence. Each entry has \u003ccode\u003etext\u003c/code\u003e (verbatim message sent to the AI assistant), \u003ccode\u003emessage_id\u003c/code\u003e, and \u003ccode\u003equestion_id\u003c/code\u003e.\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;- \u003ccode\u003eevents\u003c/code\u003e (optional) — session events performed by the candidate (e.g. \u003ccode\u003esubmission_attempted\u003c/code\u003e, \u003ccode\u003esuggestion_decision\u003c/code\u003e). Each entry has \u003ccode\u003eoffset\u003c/code\u003e, \u003ccode\u003esummary\u003c/code\u003e, \u003ccode\u003eevent_id\u003c/code\u003e, and \u003ccode\u003eevent_type\u003c/code\u003e. \u003ccode\u003equestion_id\u003c/code\u003e is present at the attempt level (aggregating multiple questions); omitted at the per-question level where it would be redundant.\u003cbr /\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;A group may carry \u003ccode\u003emessages\u003c/code\u003e, \u003ccode\u003eevents\u003c/code\u003e, or both.\u003cbr /\u003e\u003cbr /\u003e\u003cb\u003eCode quality \u003ccode\u003emetric_data\u003c/code\u003e\u003c/b\u003e:\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003estatus\u003c/b\u003e\u003c/code\u003e (string) — Report processing status: \u003ccode\u003esuccess\u003c/code\u003e, \u003ccode\u003ein progress\u003c/code\u003e, \u003ccode\u003efailed\u003c/code\u003e, or \u003ccode\u003enot generated\u003c/code\u003e.\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003eprocessed\u003c/b\u003e\u003c/code\u003e (boolean) — Whether report processing has finished.\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003ereport\u003c/b\u003e\u003c/code\u003e (object) — Filtered code quality report; present on success.\u003cbr /\u003e\u003cbr /\u003e\u003ccode\u003e\u003cb\u003egrade\u003c/b\u003e\u003c/code\u003e (string or null) — \u003ccode\u003eA\u003c/code\u003e, \u003ccode\u003eB\u003c/code\u003e, or \u003ccode\u003eC\u003c/code\u003e on success; \u003ccode\u003e-\u003c/code\u003e if a successful report has no grade; \u003ccode\u003enot generated\u003c/code\u003e when the report was not generated; \u003ccode\u003enull\u003c/code\u003e while \u003ccode\u003ein progress\u003c/code\u003e."}},"required":["type","status"]},"QuestionScore":{"title":"Question","properties":{"score":{"type":"integer","default":5,"description":"Score of candidate in this question"},"answered":{"type":"boolean","default":true,"description":"Whether the candidate has answered this question or not"},"answer":{"type":"string","default":"","description":"Answer of the candidate for this question"},"name":{"type":"string","default":"","description":"Name of the question"},"preview":{"type":"string","default":"","description":"Preview of the question"},"metrics":{"type":"array","additional":true,"description":"Question metrics, including AI fluency via \u003ccode\u003eadditional_fields=questions.ai_fluency\u003c/code\u003e and code quality via \u003ccode\u003eadditional_fields=questions.code_quality\u003c/code\u003e on the show candidate endpoint. List and search ignore code quality. AI fluency is computed for AI-assisted question types; code quality includes the filtered report when available.","items":{"$ref":"#/definitions/AttemptMetric"}}},"required":["score","answered","answer"]},"CandidateDetail":{"title":"CandidateDetail","properties":{"field_name":{"type":"string","default":"year_of_graduation","description":"Name of candidate detail field"},"title":{"type":"string","default":"Year of graduation","description":"Title of candidate detail field"},"value":{"type":"string","default":"2015","description":"Value of candidate detail field"}},"required":["field_name","title","value"]},"CandidateAccommodations":{"title":"CandidateAccommodations","properties":{"additional_time_percent":{"type":"integer","default":25,"description":"A percentage of the test duration to be added as additional time. Value must be greater than 0."}}},"CandidateInformation":{"title":"CandidateInformation","properties":{"name":{"type":"string","default":"Bruce Wayne","description":"Full name of the candidate."},"email":{"type":"string","default":"bw@batmaninc.com","description":"Email address of the candidate."}},"required":["email"]},"CandidateSearchAttemptResult":{"title":"CandidateSearchAttemptResult","properties":{"attempt_id":{"type":"string","default":"123456","description":"ID of the test attempt."},"test_id":{"type":"string","default":"789012","description":"ID of the test."},"score":{"type":"float","default":80.0,"description":"Score of the candidate for this attempt."},"percentage_score":{"type":"float","default":72.5,"description":"Percentage score of the candidate for this attempt."},"report_url":{"type":"string","default":"https://www.hackerrank.com/x/tests/789012/candidates/123456/report","description":"URL for the candidate report for this attempt."},"attempt_starttime":{"type":"string","format":"date-time","description":"Time at which candidate started the test attempt."},"attempt_endtime":{"type":"string","format":"date-time","description":"Time at which candidate ended the test attempt."}},"required":["attempt_id","test_id","report_url"]},"CandidateSearchResult":{"title":"CandidateSearchResult","properties":{"uuid":{"type":"string","default":"634da4e3-4a75-4e60-a8ab-81e9253d84fe","description":"Unique identifier of the candidate."},"name":{"type":"string","default":"Jane Candidate","description":"Name of the candidate."},"email":{"type":"string","default":"jane@example.com","description":"Email address of the candidate."},"created_at":{"type":"string","format":"date-time","description":"Time at which the candidate was created."},"updated_at":{"type":"string","format":"date-time","description":"Time at which the candidate was last updated."},"attempts":{"type":"array","description":"All accessible test attempt results for this candidate.","items":{"$ref":"#/definitions/CandidateSearchAttemptResult"}}},"required":["uuid","name","email","created_at","updated_at","attempts"]},"WebhookAuthentication":{"title":"WebhookAuthentication","properties":{"type":{"type":"string","description":"Type of authentication to use for the webhook.","enum":["bearer_token","basic_auth"],"default":"bearer_token","required":true},"data":{"type":"object","description":"Authentication data based on the type. For bearer_token, provide {token: \"string\"}. For basic_auth, provide {username: \"string\", password: \"string\"}.","default":{"token":"string"},"required":true,"properties":{"token":{"type":"string","description":"Bearer token for authentication. Required when type is \"bearer_token\".","default":"string"},"username":{"type":"string","description":"Username for basic authentication. Required when type is \"basic_auth\"."},"password":{"type":"string","description":"Password for basic authentication. Required when type is \"basic_auth\"."}}}},"required":["type","data"]},"PatchOperationObject":{"properties":{"op":{"type":"string","default":"replace","description":"The method that should be used in the operation.","enum":["add","replace","remove"],"required":true},"value":{"type":"object","default":"{\"nickName\" : \"Billy\"}","description":"Represents a key-value pair that should be updated.","required":true}}},"InterviewMetadata":{"title":"InterviewMetadata","properties":{"aws_request_id":{"type":"string","default":"Bat01","description":"AWS request id for the invite."},"first_name":{"type":"string","default":"Bruce","description":"First name of the candidate."},"last_name":{"type":"string","default":"Wayne","description":"Last name of the candidate."}}},"InterviewArtifactDescriptor":{"type":"object","required":["state","location"],"properties":{"state":{"type":"string","enum":["available","unavailable","not_applicable"],"description":"available: the artifact exists and location is a signed download URL. unavailable: the artifact is enabled but its source or object is missing; transcripts also use this state when transcription is disabled. not_applicable: the artifact is disabled or inapplicable for this question."},"location":{"type":"string","format":"uri","x-nullable":true,"description":"Signed download URL, valid for 3,600 seconds from generation, when state is available; otherwise null. Download with a separate GET using the complete URL. Request this endpoint again to obtain a fresh URL after expiry."}}},"InterviewQuestionArtifacts":{"type":"object","description":"Artifact descriptors for this question. Fields depend on the saved question configuration and may be omitted. Question types without artifact support have an empty object. An unavailable artifact can still be pending generation; no separate processing or failed state is provided.","properties":{"submitted_code_url":{"description":"Code and database questions: JSON with final_code: {language, code} for the selected language and saved_codes: [{language, code}] for all saved languages. The final code can be null if no code was saved for the selected language.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"test_execution_history_url":{"description":"Code and database questions: JSON with a runs array of recorded executions, sorted by recorded time. Runs contain code, lang, time, testcaserun, diff_status, signal, compilemessage, stderr, stdout, and message; input is included only for custom-input runs. Fields can be null and runs can be empty.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"whiteboard_elements_url":{"description":"Whiteboard questions: saved whiteboard elements as JSON.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"initial_repo_url":{"description":"Fullstack questions: original project source archive.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"solution_zip_url":{"description":"Fullstack questions: candidate project submission as a ZIP archive.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"code_diff_url":{"description":"Fullstack questions: project code diff, when supported by the workspace editor.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"ai_chat_url":{"description":"Code and fullstack questions: AI chat history, subject to company, interview, and question settings. Coding chat JSON contains messages with role and content, plus optional timestamp and assistant model. The current fullstack artifact lookup has no chat download source, so enabled fullstack chat returns unavailable.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"ai_sessions_url":{"description":"Fullstack questions: AI assistant session data, when enabled for the question.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"ide_signals_url":{"description":"Fullstack questions: IDE event data for a supported editor outside ADE mode, when event logging is enabled.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"ade_signals_url":{"description":"Fullstack questions: IDE event data for a supported editor in ADE mode, when event logging is enabled.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"scoring_output_url":{"description":"Fullstack questions: project scoring output, when configured and generated.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]}}},"InterviewArtifactQuestion":{"type":"object","required":["tab_id","question_sequence","library_question_id","qtype","artifacts"],"properties":{"tab_id":{"type":"string","description":"Question tab ID within this interview."},"question_sequence":{"type":"integer","minimum":1,"description":"Position starting at 1 in the saved question tab order."},"library_question_id":{"type":"string","x-nullable":true,"description":"Saved numeric question record ID, serialized as a string, rather than the question qhash. Null when no question record ID is saved."},"qtype":{"type":"string","description":"Question type. Artifact support covers code, database, whiteboard, and fullstack. Other question types can appear with artifacts: {}."},"question_name":{"type":"string","x-nullable":true,"description":"Included only when library_question_id is null. Custom question title; null if absent from the saved question details."},"problem_statement":{"type":"string","x-nullable":true,"description":"Included only when library_question_id is null. Saved plaintext prompt, falling back to the original prompt, which can contain HTML. Null if no prompt is saved."},"role_type":{"type":"string","description":"Included for fullstack questions when saved, for example backend or datascience."},"project_mode":{"type":"string","description":"Included for fullstack questions when saved, for example ade."},"artifacts":{"$ref":"#/definitions/InterviewQuestionArtifacts"}}},"InterviewArtifactNote":{"type":"object","required":["note_id","evaluator_id"],"properties":{"note_id":{"type":"integer","description":"Interviewer note ID. Retrieve note content through GET /x/api/v3/interviews/{interview_id}/notes, subject to that endpoint's access rules."},"evaluator_id":{"type":"integer","description":"User ID of the evaluator who authored the note."}}},"InterviewArtifactsShow":{"type":"object","description":"Artifact metadata returned directly, without a data wrapper. A successful response can include unavailable artifacts and empty questions or interviewer_notes arrays.","required":["interview_id","transcript_url","interviewer_notes","questions"],"properties":{"interview_id":{"type":"string","description":"Interview record ID."},"transcript_url":{"description":"Always included. Available only when company transcription and AI are enabled and the transcript object exists; otherwise unavailable with a null location. The URL downloads stored transcript JSON directly, without the separate transcript endpoint's response wrapper or candidate-name masking.","allOf":[{"$ref":"#/definitions/InterviewArtifactDescriptor"}]},"interviewer_notes":{"type":"array","description":"Interviewer note references. Note content is not included.","items":{"$ref":"#/definitions/InterviewArtifactNote"}},"questions":{"type":"array","description":"Question tabs in saved metadata order. Can be empty if no artifact metadata has been saved. Missing saved question details can leave custom titles and prompts null.","items":{"$ref":"#/definitions/InterviewArtifactQuestion"}}}},"InterviewArtifactsPending":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Generation-window message. Retry after the number of seconds in the Retry-After response header."}}},"InterviewArtifactsError":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","description":"Error messages describing why the request failed.","items":{"type":"string"}}}},"InterviewTranscriptMessage":{"title":"InterviewTranscriptMessage","required":["messageId","author","email","timestamp","text","candidate"],"properties":{"author":{"type":"string","description":"Full name of the speaker","readonly":true,"default":"Phil Dunphy"},"timestamp":{"type":"integer","description":"Unix timestamp indicating when the sentence was spoken","readonly":true,"default":1753704324940},"text":{"type":"string","description":"Transcribed text","readonly":true,"default":"Can you walk me through your approach to this problem?"},"candidate":{"type":"boolean","description":"True if the speaker is the candidate; otherwise, false","readonly":true,"default":false},"messageId":{"type":"string","description":"Unique message identifier","readonly":true,"default":"4:0:16778240:0:357174022"},"email":{"type":"string","description":"Email of the speaker","readonly":true,"default":"phil@hackerrank.com"}}},"ExplicitSharingRoleGrant":{"title":"ExplicitSharingRoleGrant","properties":{"rollable_type":{"type":"string","description":"Type of entity to grant access to","enum":["user","team","company"],"default":"user"},"rollable_id":{"type":"integer","description":"ID of the user or team to grant access to. Not required when rollable_type is \"company\"","default":12345},"role_name":{"type":"string","description":"Sharing role to grant","enum":["viewer","editor"],"default":"editor"}},"required":["rollable_type","role_name"]},"ExplicitSharingRoleRevoke":{"title":"ExplicitSharingRoleRevoke","properties":{"rollable_type":{"type":"string","description":"Type of entity to revoke access from","enum":["user","team","company"],"default":"user"},"rollable_id":{"type":"integer","description":"ID of the user or team to revoke access from. Not required when rollable_type is \"company\"","default":12345}},"required":["rollable_type"]}}}