Banner: Web API: Get Job Description

Web API: Get Job Description

Get Job Description

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.

Parameter Name Value Required? Description
API Token
String
Yes
This value is the unique API Token provided during the CareerOneStop Web API registration process
userId
String
Yes This value is the unique UserID provided during the CareerOneStop Web API registration process
onetcode
String
Yes This value is the O*NET Code for search term.
state
String    
Yes This value accepts state (IL)
category
String
Yes This value is the Job Description Category. Example values are Purpose, Education and experience, skills etc.

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

Name
Description
Type
Parent
Purpose
Purpose
Object
Empty Cell
OnetCode
O*Net Code
string
Purpose
OnetTitle
O*Net Title
string
Purpose
OnetDesc
O*Net occupation description
string
Purpose
Activity
Activity
string
Empty Cell
Task
Task
string
Empty Cell
WorkContext
Work Context
string
Empty Cell
KnowledgeList
Knowledge List
Array
Empty Cell
ElementId
Element ID
string
KnowledgeList
Content
Content
string
KnowledgeList
SkillsList
Skills LIst
Array
Empty Cell
ElementId
Element ID
string
SkillsList
Content
Content
string
SkillsList
Education
Education
Object
Empty Cell
EduDesc
Education Description
string
Education
Certifications
Certifications
Array
Education
ElementId
Element ID
string
Certifications
Content
Content
string
Certifications
Licenses
Licenses
Array
Education
ElementId
Element ID
string
Licenses
Content
Content
string
Licenses
ToolsTech
Tools and Technology for this occupation, from O*NET
string
Empty Cell

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.