Use the Courses Available API to return a collection of Veracode eLearning courses in JSON format that are available for your organization.
Resource URL
https://api.veracode.com/elearning/v1/courses
Name | Query or Path Parameter | Type | Description |
---|---|---|---|
course_id | Query | String | Optional. Course identifiers. Repeat the query parameters to specify multiple values. |
page | Query | Integer | Optional. Page number. Default is 0. |
size | Query | Integer | Optional. Page size. Default is 50 courses per page, maximum is 500 courses per page. |
HTTP Code | Description | Type |
---|---|---|
200 | Success. Returns an array of Veracode eLearning courses. | Object |
400 | Invalid request. | Null |
404 | Not found. | 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 GetCoursesClient { // 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/courses"); 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 courses.
GET/elearning/v1/coursesHTTP/1.1 HTTP/1.1200OK,Content-Type:application/json { "_embedded": {"courses": [ { "_links": { "reportcards": { "templated": true, "href": "https://api.veracode.com/elearning/v1/reportcards?course_id=CRLF{&user_id,page,size}" }, "self": {"href": "https://api.veracode.com/elearning/v1/courses/CRLF"} }, "name": "AppSec Tutorials - CRLF Injection", "courseId": "CRLF" }, { ... } ]}, "_links": { "next": {"href": "https://api.veracode.com/elearning/v1/courses?page=1&size=50"}, "last": {"href": "https://api.veracode.com/elearning/v1/courses?page=1&size=50"}, "self": { "templated": true, "href": "https://api.veracode.com/elearning/v1/courses?page=0&size=50{&course_id}" }, "first": {"href": "https://api.veracode.com/elearning/v1/courses?page=0&size=50"} }, "page": { "number": 0, "size": 50, "totalPages": 2, "totalElements": 54 } }