Use the eLearner by ID API to return user name data in JSON format for the specified user ID. For the list of IDs for the users in your organization, use the eLearning Users API.
Resource URL
https://api.veracode.com/elearning/v1/learners/ {user_id}
Name | Query or Path Parameter | Type | Description |
---|---|---|---|
user_id * (required) | Path | String | The eLearning user unique identifier. |
HTTP Code | Description | Type |
---|---|---|
200 | Success. Returns an eLearning user for the specified ID. | Learner |
400 | Invalid request. | Null |
401 | Unauthorized request. | Null |
403 | Access denied. | Null |
500 | Server side error. | Null |
Example Request
The following example assumes you have correctly configured your credentials and configured any required HMAC authentication libraries.
import java.net.URI; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import org.json.JSONObject; import com.veracode.security.apisigning.ClientCryptoLib; public class GetLearnerClient { // An API Id for authentication private final static String API_KEY = "API_KEY_GOES_HERE"; // The secret key corresponding to the API Id private final static String API_SECRET = "API_SECRET_GOES_HERE"; public static void main(String[] args) throws Exception { URI uri = URI.create("https://api.veracode.com/elearning/v1/learners/jsmith"); String authHeader = ClientCryptoLib.calculateAuthorizationHeader(ClientCryptoLib.VERACODE_HMAC_SHA_256, API_KEY, API_SECRET, uri.getHost(), uri.getPath(), HttpGet.METHOD_NAME); HttpGet request = new HttpGet(uri); request.addHeader("Authorization", authHeader); CloseableHttpResponse response = HttpClients.createDefault().execute(request); HttpEntity entity = response.getEntity(); JSONObject json = new JSONObject(EntityUtils.toString(entity, "UTF-8")); System.out.println(json.toString(4)); } }
Example Response
The following response conforms to the Hypertest Application Language content type (application/hal+json), which includes a link to the reportcards endpoint for the given user.
GET/elearning/v1/learners/{user_id}HTTP/1.1 HTTP/1.1200OKContent-Type:application/json { "firstName": "John", "lastName": "Smith", "lastLogin": "2018-05-11T19:23:28.027Z", "_embedded": {"curricula": [{"curriculumName": "AllReqd"}]}, "_links": { "reportcards": { "templated": true, "href": "https://api.veracode.com/elearning/v1/reportcards?user_id=jsmith{&course_id,page,size}" }, "self": {"href": "https://api.veracode.com/elearning/v1/learners/jsmith"} }, "userId": "jsmith", "email": "jsmith@example.com" }