The 'Get Job Description' Web API enables developers to query and retrieve a list of Job Descriptions by a set of parameters including O*net codes and state data entries. Results include a job description that can be used as-is, or edited as needed to fit the job being posted. Just copy the results and paste wherever you'd like to post your job description.
About this data
This Web API is used on www.CareerOneStop.org to help employers, businesses, or human resource departments write Job Descriptions. They can be used to post jobs or for internal promotion/job classification. You can see the Job Description writer on CareerOneStop's Business Center, here. For more information about the data found in the Job Description writer, click here.
Resource URL
https://api.careeronestop.org/v1/jdw/{userId}/{onetCode}/{state}/{category}
Example Code
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace CareerOneStopAPISample
{
class Program
{
static void Main(string[] args)
{
CreateRequest().Wait();
}
private static async Task CreateRequest()
{
var uri = new UriBuilder(Uri.UriSchemeHttps, "api.careeronestop.org")
{
Path = "/v1/jdw/{userId}/{onetCode}/{state}/{category}"
};
using (var http = new HttpClient())
{
http.DefaultRequestHeaders.Accept.Clear();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "Your API Token");
http.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await http.GetAsync(uri.Uri).ConfigureAwait(false);
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
}
}
}
}
}
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class CareerOneStopAPISample {
public static void main(String[] args) throws IOException, URISyntaxException {
URI uri = new URIBuilder()
.setScheme("https")
.setHost("api.careeronestop.org")
.setPath("/v1/ajcfinder/{userId}/{location}/{radius}/{centerType}/{youthServices}/{workersServices}/{businessServices}/{sortColumns}/{sortDirections}/{startRecord}/{limitRecord}")
.build();
CloseableHttpResponse response = null;
HttpGet httpGet = null;
try {
CloseableHttpClient httpClient = HttpClients.createDefault();
httpGet = new HttpGet(uri);
httpGet.setHeader("Content-Type","application/json");
httpGet.setHeader("Authorization", "Bearer Your API Token");
response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
System.out.println(EntityUtils.toString(entity));
} finally {
if(httpGet != null) httpGet.releaseConnection();
if(response != null) response.close();
}
}
}
Request Parameters
Refer to the following table for a list of the required and optional request parameters. All parameter names and values are case sensitive. Important: You must provide all required parameters. Submitting an empty request does not return all possible results; an empty request returns an error.
Response Structure
{
"Purpose": {
"OnetCode": "string",
"OnetTitle": "string",
"OnetDesc": "string"
},
"Activity": "string",
"Task": "string",
"WorkContext": "string",
"KnowledgeList": [
{
"ElementId": "string",
"Content": "string"
}
],
"SkillsList": [
{
"ElementId": "string",
"Content": "string"
}
],
"Education": {
"EduDesc": "string",
"Certifications": [
{
"ElementId": "string",
"Content": "string"
}
],
"Licenses": [
{
"ElementId": "string",
"Content": "string"
}
]
},
"ToolsTech": "string"
}
<JDW xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/XPAND.CareerOneStop.WebApi.ViewModels">
<Activity>string</Activity>
<Education>
<Certifications>
<Element>
<Content>string</Content>
<ElementId>string</ElementId>
</Element>
</Certifications>
<EduDesc>string</EduDesc>
<Licenses>
<Element>
<Content>string</Content>
<ElementId>string</ElementId>
</Element>
</Licenses>
</Education>
<KnowledgeList>
<Element>
<Content>string</Content>
<ElementId>string</ElementId>
</Element>
</KnowledgeList>
<Purpose>
<OnetCode>string</OnetCode>
<OnetDesc>string</OnetDesc>
<OnetTitle>string</OnetTitle>
</Purpose>
<SkillsList>
<Element>
<Content>string</Content>
<ElementId>string</ElementId>
</Element>
</SkillsList>
<Task>string</Task>
<ToolsTech>string</ToolsTech>
<WorkContext>string</WorkContext>
</JDW>
Response Parameters
Errors
Error/Status Code |
Description |
200
|
OK / Success. The request went through successfully and there is a response body.
|
400
|
Bad Request (Request was invalid or missing parameters)
|
401
|
Unauthorized. This error occurs specifically when authentication is required and has failed or has not yet been provided correctly. (ex: Invalid API Token)
|
404
|
This error will be shown in two scenarios 1) Not found - (An error occurred) and 2) Not found - (No data available)
|
500
|
Internal Server Error. This error will occur when there is something critically wrong in the API call. |