Skip to content
Pablo Targa edited this page Jan 28, 2019 · 9 revisions

Open Skills API Architecture Description

Table of Contents

  1. Introduction
  2. Current Base URL
  3. Swagger Specification
  4. Test Client
  5. Endpoint Description
  6. API Usage
  7. Endpoints Usage

Introduction

The purpose of this wiki page is to provide a central point for communicating the architecture of the Open Skills API and soliciting feedback from stakeholders.

Base URL

The base URL for the most recent version of the API can be found at: http://api.dataatwork.org/v1/

Swagger Specification

Swagger specification is available at: http://api.dataatwork.org/v1/spec/skills-api.json

Swagger UI Test Client

A simple test client using Swagger UI is available at: http://api.dataatwork.org/v1/spec/

Endpoint Descriptions

The endpoints shown here are a duplication of the current endpoints targeted for the minimally viable product (MVP). Please refer to the canonical API document found here.

ID Endpoint Description Data Source
1 /jobs/autocomplete Job title autocomplete jobs_master.tsv
2 /jobs/normalize Normalize job title Not yet available
3 /jobs/<onet_soc_code> Job title from O*Net SOC code jobs_master.tsv
4 /skills/autocomplete Skill name autocomplete skills_master.tsv
5 /skills/normalize Normalize skill name Not yet available
6 /skills/<onet_soc_code> Normalized skill uuid from skill O*Net SOC code skills_master.tsv
7 /jobs/<uuid>/related_skills/ Associated skills for a job skills_master.tsv
jobs_master.tsv
8 /jobs/<uuid>/related_jobs Associated jobs for a job jobs_master.tsv
9 /skills/<uuid>/related_jobs Associated jobs for a skill skills_master.tsv
jobs_master.tsv
10 /skills/<uuid>/related_skills Associated skills for a skill skills_master.tsv
11 /skills/<uuid> Name and frequency for a skill uuid skills_master.tsv
12 /jobs/<uuid> Job name from a job uuid jobs_master.tsv
13 /jobs Lists the UUIDs and titles for all jobs. jobs_master.tsv
14 /skills Lists the UUIDs and names for all skills skills_master.tsv

API Usage

Request and Response Formats

The current version of the API only support JSON objects for requests and responses. Other request and response types such as XML may be supported in the future.

Specifying API Version

The present version of the API does not require any kind of user auth (to be implemented in a future sprint); however, users are able to request resources via any of the following three methods:

  • Specify the API version number by the endpoint:
 curl -X GET /path/to/api/v1/skills
  • Specify a custom header api-version as a part of the request:
curl -H "api-version: 1" -X GET /path/to/api/skills
  • Specify the version number a part of the Accept header:
curl -H "Accept: application/vnd.openskills.v1+json" -X GET /path/to/api/skills"

Note that the URL redirects for handling the redirects to the appropriate API version via headers requires further configuration before being made active. For testing purposes, users are encouraged to use the first method shown.

Endpoints Usage

1. Job Title Autocomplete

  • Purpose: Allows autocompletion of a job title as a user is typing.
  • Input: Job title fragment (string)
  • Output: Full (array) of canonical jobs containing the given fragment including titles (strings) and job uuids (hash)
  • Methods: GET
  • Note: This helps ensure consistency in job titles that are entered to help with getting associated skills and jobs for a particular job that is entered.
Status Description
200 Successfully found a collection of job titles matching the given string.
400 Bad request (i.e. forgotten to specify a parameter or incorrect parameter provided.)
404 Unable to find any job titles that match the given string.

Retrieve a collection of job titles that begin with a specific string.

curl -X GET /path/to/api/v1/jobs/autocomplete?begins_with="software"
[
  {
    "uuid" : "6f7990802a8bd0e8f09ad8b22e06efb1",
    "suggestion" : "software publisher",
    "parent_uuid" : "0e9d360ea7be561208352600e287333b"
  },
  {
    "uuid" : "0ed00d0028c57b9d27fbb7f295051d73",
    "suggestion" : "software project manager",
    "parent_uuid" : "0af6dbafc69717d8938e5d9b6149f865"
  },
  {
    "uuid" : "46a67fb3e8962b5eed7b9c1b41304792",
    "suggestion" : "software trainer",
    "parent_uuid" : "ad9935df1f6da4e4273ccef9ed9c2f66"
  },
  {
    "uuid" : "b80b193730dd7c794cf834372f8c4aee",
    "suggestion" : "software development engineer",
    "parent_uuid" : "2afa09d9c7f2fbad823a2fe2df52e58f"
  },
  {
    "uuid" : "6eec3fb9c48291bcf74f844eb809b078",
    "suggestion" : "software engineer",
    "parent_uuid" : "2afa09d9c7f2fbad823a2fe2df52e58f"
  }
]

Retrieve a collection of job titles that contains a specific string.

curl -X GET /path/to/api/v1/jobs/autocomplete?contains="software"
[
  {
    "uuid" : "6f7990802a8bd0e8f09ad8b22e06efb1",
    "suggestion" : "software publisher",
    "parent_uuid" : "0e9d360ea7be561208352600e287333b"
  },
  {
    "uuid" : "c0bc880b0d027fb2816e504fd9e54f40",
    "suggestion" : "network software manager",
    "parent_uuid" : "0af6dbafc69717d8938e5d9b6149f865"
  },
  {
    "uuid" : "b3a3b44c23fe170f67271a116e010251",
    "suggestion" : "programming and software development project manager",
    "parent_uuid" : "0af6dbafc69717d8938e5d9b6149f865"
  },
  {
    "uuid" : "0ed00d0028c57b9d27fbb7f295051d73",
    "suggestion" : "software project manager",
    "parent_uuid" : "0af6dbafc69717d8938e5d9b6149f865"
  },
  {
    "uuid" : "46a67fb3e8962b5eed7b9c1b41304792",
    "suggestion" : "software trainer",
    "parent_uuid" : "ad9935df1f6da4e4273ccef9ed9c2f66"
  }
]

Retrieve a collection of job titles that end with a specific string.

curl -X GET /path/to/api/v1/jobs/autocomplete?ends_with="manager"
[
  {
    "uuid" : "f5070ef1b6d5df945b1ae4205fc91fb2",
    "suggestion" : "bakery manager",
    "parent_uuid" : "0e9d360ea7be561208352600e287333b"
  },
  {
    "uuid" : "dfde855a9e92322b8e062ba836eb9800",
    "suggestion" : "brokerage office manager",
    "parent_uuid" : "0e9d360ea7be561208352600e287333b"
  },
  {
    "uuid" : "36af3005f0c455198c83023ebe71e2e1",
    "suggestion" : "cemetery manager",
    "parent_uuid" : "0e9d360ea7be561208352600e287333b"
  },
  {
    "uuid" : "28c536fd4620eeaf075dd246da52fd66",
    "suggestion" : "city manager",
    "parent_uuid" : "0e9d360ea7be561208352600e287333b"
  },
  {
    "uuid" : "c2b293b729f8b611bfdf8912b28798e8",
    "suggestion" : "corporate manager",
    "parent_uuid" : "0e9d360ea7be561208352600e287333b"
  }
]

2. Normalize Job Title

  • Purpose: To find the canonical job title (like “Baker”) for an entered synonymous job title (like “Cupcake ninja”)
  • Input: Arbitrary synonymous job title (string)
  • Output: Canonical job title (string) and uuid (hash)
  • Methods: GET
Status Description
200 Successfully found a collection of job titles matching the given string.
400 Bad request (i.e. forgotten to specify a parameter or incorrect parameter provided.)
404 Unable to find any job titles that match the given string.

Retrieve a collection of "unusual" job titles based on a partial or full match of a specified title.

curl -X GET /path/to/api/v1/jobs/normalize?job_title="ninja"
[
  {
    "description" : "financial manager",
    "parent_uuid" : "90369dd177d9dc5305079b81f1dc0702",
    "uuid" : "9ffbfbe0c0f711a4b5c09cb9489dffa0",
    "title" : "accounting ninja"
  },
  {
    "description" : "sales executive",
    "parent_uuid" : "193e2cfef58673322b3e112004e22464",
    "uuid" : "1a53001559d3244c7825e01f5bf47053",
    "title" : "sales ninja"
  },
  {
    "description" : "customer service or social media",
    "parent_uuid" : "be9577e912d72645481316acfcdafa66",
    "uuid" : "4fc168e1113b1f26cc2df5bba8e4d731",
    "title" : "customer engagement ninja"
  },
  {
    "description" : "software engineer",
    "parent_uuid" : "d202138ac2ddca18189dd7464b395a61",
    "uuid" : "1254c7d8dda6756e1094a040d5724675",
    "title" : "software ninjaneer"
  },
  {
    "description" : "web application developer",
    "parent_uuid" : "292316eb40b9c152340ae42d7b2816f7",
    "uuid" : "a50d6a27ebeaa857a184fce80c6e37cc",
    "title" : "php ninja"
  },
  {
    "description" : "baker",
    "parent_uuid" : "1c4217f2cc6c8afa6532f13475e17ed2",
    "uuid" : "bfd0ab9037525887e167e1ed019402b5",
    "title" : "cupcake ninja"
  }
]

3. Get Job Titles from O*NET Code

  • Purpose: Use the O*NET skills code to obtain the job title.
  • Input: O*NET job code
  • Output: Full (array) of canonical jobs that map to the given O*NET SOC code including titles (strings) and job uuids (hash)
  • Methods: GET
  • Note: This is used predominantly by developers who know O*NET
Status Description
200 Successfully found a job that matches the O*NET SOC code.
404 Unable to find any jobs that matches the O*NET SOC code.

Retrieve a job by specifying it's O*NET code.

curl -X GET /path/to/api/v1/jobs/41-3031.00
{
  "uuid" : "1092fac0231224962ce7ec82e3bf9b4b",
  "onet_soc_code" : "41-3031.00",
  "title" : "securities, commodities, and financial services sales agents",
  "description" : "buy and sell securities or commodities in investment and trading firms, or provide financial services to businesses and individuals. may advise customers about stocks, bonds, mutual funds, commodities, and market conditions.",
  "related_job_titles" : [
    {
      "uuid" : "cc86db46cb3993b7191bb728feb0ccc5",
      "title" : "commodities broker"
    },
    {
      "uuid" : "66005cd41c5c0eda4ab54952d4c13cb2",
      "title" : "commodity trader"
    },
    {
      "uuid" : "d0d0da0e68765877f6a8e70987f99085",
      "title" : "equity trader"
    },
    {
      "uuid" : "acaff2f509ae940d90ec285c3b96849a",
      "title" : "municipal bond trader"
    },
    {
      "uuid" : "8e2b0009a38dc7584780ecea6047a602",
      "title" : "mutual fund sales agent"
    },
    {
      "uuid" : "6d2013fc7242946bf91461566d4a30b6",
      "title" : "securities trader"
    },
    {
      "uuid" : "ffb56297b6d685596e30286b051b9a4f",
      "title" : "stock broker"
    }
  ],
  "unusual_job_titles" : [ ]
}

4. Skill Name Autocomplete

  • Purpose: Allows dynamic autocompletion of a skill string as a user is typing.
  • Input: (string) Partial (3 characters+) or complete skill name
  • Output: Full (array) of canonical skills that contain the given fragment including names (strings) and skill uuids (hash)
  • Methods: GET
  • Note: This helps ensure consistency in skills that are entered to help with getting associated skills and jobs for a particular skill that is entered.
Status Description
200 Successfully found a collection of skill names matching the given string.
400 Bad request (i.e. forgotten to specify a parameter or incorrect parameter provided.)
404 Unable to find any skill names that match the given string.

Retrieve a collection of skills that begin with a specific string.

curl -X GET /path/to/api/v1/skills/autocomplete?begins_with="java"
[
  {
    "uuid" : "de9b9ed78d7e2e1dceeffee780e2f919",
    "suggestion" : "javascript"
  },
  {
    "uuid" : "ff30ae35a80a94c4e77c02413baa421c",
    "suggestion" : "javamin composer"
  }
]

Retrieve a collection of skills that contain a specific string.

curl -X GET /path/to/api/v1/skills/autocomplete?contains="java"
[
  {
    "uuid" : "de9b9ed78d7e2e1dceeffee780e2f919",
    "suggestion" : "javascript"
  },
  {
    "uuid" : "27f2b03acd8b8784acab5c5b60118070",
    "suggestion" : "oracle java"
  },
  {
    "uuid" : "04f99eb1151d9033ab1823eb82b8a8e5",
    "suggestion" : "oracle java ee"
  },
  {
    "uuid" : "17c4136a02e01c7b27fa3fc360c406cc",
    "suggestion" : "asynchronous javascript and xml ajax"
  },
  {
    "uuid" : "5a1ec6e187e8f2cc37e1615211272c59",
    "suggestion" : "enterprise javabeans"
  },
  {
    "uuid" : "65821708d91bd434eb7614bd493a991e",
    "suggestion" : "oracle javaserver pages jsp"
  },
  {
    "uuid" : "3969d5d4a03b9f9fae765f425bbc9ff4",
    "suggestion" : "sun microsystems java 2 platform enterprise edition j2ee"
  },
  {
    "uuid" : "fd5269a86b7526a709220801f14d57f6",
    "suggestion" : "oracle java 2 platform enterprise edition j2ee"
  },
  {
    "uuid" : "bd44a6cb68147625f1a7e1dcf73a0640",
    "suggestion" : "xerces2 java parser"
  },
  {
    "uuid" : "4de3023163eecffb2a7194a08c185b33",
    "suggestion" : "yourkit java profiler"
  },
  {
    "uuid" : "ecffd5adbb9465312d6290006996d414",
    "suggestion" : "sun microsystems java servlet api"
  },
  {
    "uuid" : "30da491ae8edb2920db909cfd6be7681",
    "suggestion" : "sun microsystems java"
  },
  {
    "uuid" : "ff30ae35a80a94c4e77c02413baa421c",
    "suggestion" : "javamin composer"
  },
  {
    "uuid" : "8ccee48c50987ff63fb45478509ed127",
    "suggestion" : "oralce java enterprise system"
  }
]

Retrieve a collection of skills that end with a specific string.

curl -X GET /path/to/api/v1/skills/autocomplete?ends_with="java"
[
  {
    "uuid" : "27f2b03acd8b8784acab5c5b60118070",
    "suggestion" : "oracle java"
  },
  {
    "uuid" : "30da491ae8edb2920db909cfd6be7681",
    "suggestion" : "sun microsystems java"
  }
]

5. Normalize Skill Name

  • Purpose: To find the canonical skill name (like “Ruby programming”) for an entered synonymous skill name (like “Coding in Ruby”)
  • Input: (string) Arbitrary synonymous skill name
  • Params: (number) skill_uuid
  • Output: Canonical skill name (string) and uuid (int?)
  • Methods: GET, POST (not currently implemented)
  • Development Note: The goal is to store what people put in, so the development team can better normalize in the future.
Status Description
200 Successfully found a collection of skill names matching the given title string.
400 Bad request (i.e. forgotten to specify a parameter or incorrect parameter provided.)
404 Unable to find any skill names that match the given string.

Retrieve a collection of skill names that match a given string.

curl -X GET /path/to/api/v1/skills/normalize?skill_name="java"
[
  {
    "skill_name" : "javascript",
    "uuid" : "de9b9ed78d7e2e1dceeffee780e2f919"
  },
  {
    "skill_name" : "oracle java",
    "uuid" : "27f2b03acd8b8784acab5c5b60118070"
  },
  {
    "skill_name" : "oracle java ee",
    "uuid" : "04f99eb1151d9033ab1823eb82b8a8e5"
  },
  {
    "skill_name" : "asynchronous javascript and xml ajax",
    "uuid" : "17c4136a02e01c7b27fa3fc360c406cc"
  },
  {
    "skill_name" : "enterprise javabeans",
    "uuid" : "5a1ec6e187e8f2cc37e1615211272c59"
  },
  {
    "skill_name" : "oracle javaserver pages jsp",
    "uuid" : "65821708d91bd434eb7614bd493a991e"
  },
  {
    "skill_name" : "sun microsystems java 2 platform enterprise edition j2ee",
    "uuid" : "3969d5d4a03b9f9fae765f425bbc9ff4"
  },
  {
    "skill_name" : "oracle java 2 platform enterprise edition j2ee",
    "uuid" : "fd5269a86b7526a709220801f14d57f6"
  },
  {
    "skill_name" : "xerces2 java parser",
    "uuid" : "bd44a6cb68147625f1a7e1dcf73a0640"
  },
  {
    "skill_name" : "yourkit java profiler",
    "uuid" : "4de3023163eecffb2a7194a08c185b33"
  },
  {
    "skill_name" : "sun microsystems java servlet api",
    "uuid" : "ecffd5adbb9465312d6290006996d414"
  },
  {
    "skill_name" : "sun microsystems java",
    "uuid" : "30da491ae8edb2920db909cfd6be7681"
  },
  {
    "skill_name" : "javamin composer",
    "uuid" : "ff30ae35a80a94c4e77c02413baa421c"
  },
  {
    "skill_name" : "oralce java enterprise system",
    "uuid" : "8ccee48c50987ff63fb45478509ed127"
  }
]

6. Get Normalized Skill uuid from Skill_ONET ID

  • Purpose: Get the associated normalized canonical skill for an O*NET skill code.
  • Input: O*NET skill code
  • Output: Full (array) of canonical skills that map to the given O*NET skill code including names (strings) and skill uuids (hash)
  • Methods: GET
  • Note: This is used predominantly by developers who know O*NET
Status Description
200 Successfully found a collection of job titles matching the given string.
400 Bad request (i.e. forgotten to specify a parameter or incorrect parameter provided.)
404 Unable to find any job titles that match the given string.

Retrieve a collection of job titles that begin with a specific string.

curl -X GET /path/to/api/v1/skills/13-2011.01
{
  "skills" : [
    {
      "skill_uuid" : "2c77c703bd66e104c78b1392c3203362"
    },
    {
      "skill_uuid" : "a636cb69257dcec699bce4f023a05126"
    },
    {
      "skill_uuid" : "1cea5345d284f36245a94301b114b27c"
    },
    {
      "skill_uuid" : "d1715efc5a67ac1c988152b8136e3dfa"
    },
    {
      "skill_uuid" : "6ae28a55456b101be8261e5dee44cd3e"
    }
]

7. Get Associated Skills for a Job

  • Purpose: Get skills that are associated with a particular job.
  • Input: uuid (int) of canonical job
  • Output: Full (array) of canonical skills related to the given job including names (strings) and skill uuids (hash)
  • Methods: GET
Status Description
200 Successfully found a collection of skills matching the given job uuid.
404 Unable to find any skills matching the given job uuid.

Retrieve a collection of job titles that begin with a specific string.

curl -X GET /path/to/api/v1/jobs/2995ce54b9dd5944b0528b734cfc5b6d/related_skills
{
  "skills" : [
    {
      "skill_uuid" : "2c77c703bd66e104c78b1392c3203362"
    },
    {
      "skill_uuid" : "a636cb69257dcec699bce4f023a05126"
    },
    {
      "skill_uuid" : "1cea5345d284f36245a94301b114b27c"
    },
    {
      "skill_uuid" : "d1715efc5a67ac1c988152b8136e3dfa"
    },
    {
      "skill_uuid" : "6ae28a55456b101be8261e5dee44cd3e"
    }
]

8. Get Associated Jobs for a Job

  • Purpose: Get other jobs that are closely associated with a particular job.
  • Input: uuid (int) of canonical job
  • Output: Full (array) of canonical jobs related to the given job including titles (strings) and job uuids (hash)
  • Methods: GET
Status Description
200 Successfully found a collection of related job titles matching the given uuid.
404 Unable to find any related job titles that match the given uuid.

Retrieve a collection of job titles that relate to a specific job.

curl -X GET /path/to/api/v1/jobs/2995ce54b9dd5944b0528b734cfc5b6d/related_jobs
{
  "related_job_titles" : [
    {
      "uuid" : "3ecc1eeb50d52a7c01d1ba4cb209bf64",
      "title" : "accountant manager"
    },
    {
      "uuid" : "a8f9a074c46b4a5fa97d682953ece9ff",
      "title" : "accounting analyst"
    },
    {
      "uuid" : "821833223a9c879cbd63e07ef939a777",
      "title" : "accounting bookkeeper"
    },
    {
      "uuid" : "713d5008a3e2288cacbe39f8d424a0dd",
      "title" : "accounting consultant"
    },
    {
      "uuid" : "ac309308d805301df489d2237fd9d330",
      "title" : "accounting manager"
    },
    {
      "uuid" : "f9cba037e47b1f867a7066a897436817",
      "title" : "accounting methods analyst"
    }
]

9. Get Associated Jobs for a Skill

  • Purpose: Given a skills, what jobs ask for that skills
  • Input: uuid (int) of canonical skill
  • Output: Full (array) of canonical jobs related to the given skill including title (strings) and job uuids (hash)
  • Methods: GET
Status Description
200 Successfully found a collection of job uuids related to the given skill uuid.
404 Unable to find any job uuids that relate to the given skill uuid.

Retrieve a collection of job titles that begin with a specific string.

curl -X GET /path/to/api/v1/skills/2c77c703bd66e104c78b1392c3203362/related_jobs
{
  "skill_uuid" : "2c77c703bd66e104c78b1392c3203362",
  "jobs" : [
    {
      "job_uuid" : "0e9d360ea7be561208352600e287333b"
    },
    {
      "job_uuid" : "ad670393ef16bab4b8dfa52500fb07fe"
    },
    {
      "job_uuid" : "5926b4acee130110cfb1230f41a91bb5"
    },
    {
      "job_uuid" : "f6588d3c2b5961f4123ad01d40bfe1df"
    },
    {
      "job_uuid" : "66daa7c1877e2bf4f31f8f891059db80"
    },
    {
      "job_uuid" : "193e2cfef58673322b3e112004e22464"
    },
    {
      "job_uuid" : "e51fbe56494cd3fb2ff7326b3c0351f3"
    },
    {
      "job_uuid" : "f98f06abc078c9d9c5b6e37d0abeb2f0"
    }
]

10. Get Associated Skills for a Skill

  • Purpose: Skills for a skill. Given a skill, what other skills are relevant / in the same context
  • Input: uuid (int) of canonical skill
  • Params: (int) number
  • Output: Full (array) of canonical skills related to the given skill including names (strings) and skill uuids (hash)
  • Methods: GET
Status Description
200 Successfully found a collection of skills related to a given skill uuid.
404 Unable to find any skills related to the given skill uuid.

Retrieve a collection of skills related to a given skill uuid.

curl -X GET /path/to/api/v1/skills/4d70921065c00a293597936b693345aa/related_skills
{
  "skills" : [
    {
      "skill_uuid" : "4d70921065c00a293597936b693345aa",
      "skill_name" : "transportation"
    },
    {
      "skill_uuid" : "72c1ac829488e78524689b26180fe9dd",
      "skill_name" : "bentley transportation data manager"
    },
    {
      "skill_uuid" : "1df452e6e139d9a119327b0b86d7aa37",
      "skill_name" : "cadre technologies cadence transportation management system"
    },
    {
      "skill_uuid" : "6026ff992f2fc47bd13033533fe0ef46",
      "skill_name" : "ibm i2 transportation manager"
    },
    {
      "skill_uuid" : "32b281d69aad9ac2e891656faa9c80f5",
      "skill_name" : "intergraph geomedia transportation manager"
    },
    {
      "skill_uuid" : "764a79c8d6122de1b74f4dbecc4f8b08",
      "skill_name" : "transportation management system tms software"
    },
    {
      "skill_uuid" : "4175dbdfc632eead9358add5f23d45fe",
      "skill_name" : "animal transportation trailers"
    },
    {
      "skill_uuid" : "284a64785fec51035575e1aed35223d9",
      "skill_name" : "i2 transportation modeler"
    },
    {
      "skill_uuid" : "97a70aa1658367be03b7b5e52c7f268e",
      "skill_name" : "autodesk caice visual transportation software"
    }
]

11. Get Skills Name and frequency for a Skill UUID

  • Purpose: Given a skill uuid, what is the name of that associated skill
  • Input: (int) skill_uuid
  • Params: (int) number
  • Output: Returns a skill string with the name of a skill
  • Methods: GET
Status Description
200 Successfully found a skill matching the given uuid.
404 Unable to find any skills that match the given uuid.

Retrieve the details of a skill.

curl -X GET /path/to/api/v1/skills/4d70921065c00a293597936b693345aa
{
  "uuid" : "4d70921065c00a293597936b693345aa",
  "skill_name" : "transportation",
  "count" : 825494
}

12. Get Job Name for a Job UUID

  • Purpose: Retrieves the name of a job given its uuid.
  • Input: Job uuid
  • Output: Name of the job that matches the specified uuid.
  • Methods: GET
Status Description
200 Successfully found a collection of job titles matching the given job uuid
404 Unable to find any job titles that match the given job uuid.

Retrieve a collection of job titles that are associated with a specified job uuid.

curl -X GET /path/to/api/v1/jobs/5d12ef84fe6bc1ead14db1b113188625
{
  "uuid" : "5d12ef84fe6bc1ead14db1b113188625",
  "onet_soc_code" : "35-3011.00",
  "title" : "bartenders",
  "description" : "mix and serve drinks to patrons, directly or through waitstaff.",
  "related_job_titles" : [
    {
      "uuid" : "b912fc356c374dfb499fdd52549f522c",
      "title" : "bar attendant"
    },
    {
      "uuid" : "7541d29b266e99847654557ea55746d6",
      "title" : "bar captain"
    },
    {
      "uuid" : "aec7e8975fb951f73bcdc001dec5a6dd",
      "title" : "bar tender"
    },
    {
      "uuid" : "49d9a1aa749fd06c287640e7015b5b8e",
      "title" : "barkeep"
    },
    {
      "uuid" : "f9d2636a23dd562841e6a96ad10b3a1a",
      "title" : "barkeeper"
    },
    {
      "uuid" : "411272f57d8bab247646011f9361bc5e",
      "title" : "barmaid"
    },
    {
      "uuid" : "1e7f0bbc56c5ba6791108be53a75f494",
      "title" : "barman"
    },
    {
      "uuid" : "7bb0b63fe7ca769b3e05fc6200931b82",
      "title" : "bartender"
    },
    {
      "uuid" : "aa920056eedd0e75a4d730a9d3c7ba94",
      "title" : "bartender extra"
    },
    {
      "uuid" : "e0c4b599e30cf975677ec9b059a534f4",
      "title" : "bartender server"
    },
    {
      "uuid" : "f47de1b27e11d1e48e6751a474bc498e",
      "title" : "drink mixer"
    },
    {
      "uuid" : "2cf4119132f053fee587bfbe4b049bac",
      "title" : "mixologist"
    },
    {
      "uuid" : "cf1e8c14e54505f60aa10ceb8d5d8ab3",
      "title" : "server"
    },
    {
      "uuid" : "4b4cc86661a8ad75946504946b32d683",
      "title" : "taproom attendant"
    },
    {
      "uuid" : "9bc7a5c444110e35041eb91528d60a73",
      "title" : "waitress"
    }
  ],
  "unusual_job_titles" : [
    {
      "uuid" : "0482ab77804c699be0566a6cfaff7c09",
      "title" : "beverage dissemination officer"
    }
  ]
}

13. Retrieve all Jobs

  • Purpose: Retrieves the names and uuids of all jobs.
  • Input: None
  • Output: Full (array) of canonical jobs containing the given fragment including titles (strings) and job uuids.
  • Methods: GET
Status Description
200 Successfully found a collection of job titles.
404 Unable to find any job titles.

Retrieve a collection of job titles that begin with a specific string.

curl -X GET /path/to/api/v1/jobs
[
  {
    "uuid" : "2995ce54b9dd5944b0528b734cfc5b6d",
    "onet_soc_code" : "13-2011.01",
    "title" : "accountants",
    "description" : "analyze financial information and prepare financial reports to determine or maintain record of assets, liabilities, profit and loss, tax liability, or other financial activities within an organization."
  },
  {
    "uuid" : "c29b97d49d0bf40abb6c79fc8a670ff9",
    "onet_soc_code" : "13-2011.00",
    "title" : "accountants and auditors",
    "description" : "examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. install or advise on systems of recording costs or other financial and budgetary data."
  },
  {
    "uuid" : "67ef4f4b074578fd523ee3442c1c4fa0",
    "onet_soc_code" : "27-2011.00",
    "title" : "actors",
    "description" : "play parts in stage, television, radio, video, motion picture productions, or other settings for entertainment, information, or instruction. interpret serious or comic role by speech, gesture, and body movement to entertain or inform audience. may dance and sing."
  },
  {
    "uuid" : "73ac4285eab539863c77b5d09d7428cd",
    "onet_soc_code" : "15-2011.00",
    "title" : "actuaries",
    "description" : "analyze statistical data, such as mortality, accident, sickness, disability, and retirement rates and construct probability tables to forecast risk and liability for payment of future benefits. may ascertain insurance rates required and cash reserves necessary to ensure payment of future benefits."
  }
]

14. Retrieve all Skills

  • Purpose: Retrieves the names and uuids of all skills.
  • Input: None
  • Output: Full (array) of canonical skills containing the given fragment including names (strings) and skill uuids.
  • Methods: GET
  • Notes: The skill collection is huge! It may take a while before the API call returns a full dataset. Need to add pagination in future sprints.
Status Description
200 Successfully found a collection of skill names.
404 Unable to find any skill names.

Retrieve a collection of skills.

curl -X GET /path/to/api/v1/skills
[
  {
    "uuid" : "4d70921065c00a293597936b693345aa",
    "name" : "transportation",
    "count" : 825494
  },
  {
    "uuid" : "162cb662c7ef4dc9e86a2b5e88cbcdf9",
    "name" : "clerical",
    "count" : 373370
  },
  {
    "uuid" : "31c13f47ad87dd7baa2d558a91e0fbb9",
    "name" : "design",
    "count" : 367424
  },
  {
    "uuid" : "7a139a9ea37cb26f0636f24db60d9b77",
    "name" : "telecommunications",
    "count" : 354887
  },
  {
    "uuid" : "9df22f196a33acd0b372fe502de51211",
    "name" : "auto",
    "count" : 293496
  },
  {
    "uuid" : "7e3fdeae0d52916ea5c86c7e5291f5be",
    "name" : "mechanical",
    "count" : 230560
  },
  {
    "uuid" : "8f4d7acea7806e0ab206358f93ccd3e1",
    "name" : "microsoft office",
    "count" : 225979
  },
  {
    "uuid" : "fb5c7f9bb4b32ce2f3bff4662f1ab27b",
    "name" : "science",
    "count" : 204025
  }
]