---
updatedAt: 2026-02-13T15:13:03.000Z
agentTools:
  projectIndex: https://workable.readme.io/llms.txt
---

# /jobs

Returns a collection of your account jobs. Required scope: `r_jobs`. Accessible with all token types.

> 📘 Timestamp parameters input format
>
> Supported input formats for the timestamp fields `created_after` & `updated_after` are:
>
> * [ISO8601](https://en.wikipedia.org/?title=ISO_8601) e.g. 20150708T115616Z
> * Unix time (e.g. 1436356721)

## Results

Calling the `/jobs` endpoint will return a collection of the defined `jobs` sorted by the time inserted on system, in ascending order (older jobs come first).

By default results are limited to **50**. The limit can by updated via the request parameter `limit`. The value specified cannot be more than **100**.

| key      | description                                                                                                       |
| :------- | :---------------------------------------------------------------------------------------------------------------- |
| `jobs`   | array of the defined jobs                                                                                         |
| `paging` | Includes the `next` URL pointing to the next results page, in case there are more results than the provided limit |

Each `job` will have the following keys:

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        key
      </th>

      <th>
        type
      </th>

      <th>
        description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        id
      </td>

      <td>
        `string`
      </td>

      <td>
        The job identifier
      </td>
    </tr>

    <tr>
      <td>
        title
      </td>

      <td>
        `string`
      </td>

      <td>
        The short title of the job
      </td>
    </tr>

    <tr>
      <td>
        full_title
      </td>

      <td>
        `string`
      </td>

      <td>
        The full title of the job
      </td>
    </tr>

    <tr>
      <td>
        shortcode
      </td>

      <td>
        `string`
      </td>

      <td>
        System generated job code
      </td>
    </tr>

    <tr>
      <td>
        code
      </td>

      <td>
        `string`
      </td>

      <td>
        Job code as defined in editor
      </td>
    </tr>

    <tr>
      <td>
        state
      </td>

      <td>
        `string`
      </td>

      <td>
        The job state. Possible values are `draft`, `published`, `closed`, `archived`. Where `closed` is a job used internally or confidentially
      </td>
    </tr>

    <tr>
      <td>
        confidential
      </td>

      <td>
        `boolean`
      </td>

      <td>
        Indicates if this job is confidential
      </td>
    </tr>

    <tr>
      <td>
        department
      </td>

      <td>
        `string`
      </td>

      <td>
        The job department as defined in editor
      </td>
    </tr>

    <tr>
      <td>
        department_hierarchy
      </td>

      <td>
        `array`
      </td>

      <td>
        A collection with the ancestor departments of the job department including that
      </td>
    </tr>

    <tr>
      <td>
        department_hierarchy/id
      </td>

      <td>
        `integer`
      </td>

      <td>
        The id of the department
      </td>
    </tr>

    <tr>
      <td>
        department_hierarchy/name
      </td>

      <td>
        `string`
      </td>

      <td>
        The name of the department
      </td>
    </tr>

    <tr>
      <td>
        url
      </td>

      <td>
        `string`
      </td>

      <td>
        URL to the job page
      </td>
    </tr>

    <tr>
      <td>
        application_url
      </td>

      <td>
        `string`
      </td>

      <td>
        URL to the job application form
      </td>
    </tr>

    <tr>
      <td>
        shortlink
      </td>

      <td>
        `string`
      </td>

      <td>
        short URL to the job page
      </td>
    </tr>

    <tr>
      <td>
        workplace_type
      </td>

      <td>
        `string`
      </td>

      <td>
        The workplace type. Possible values are `on_site`, `hybrid` , `remote`.
      </td>
    </tr>

    <tr>
      <td>
        location
      </td>

      <td>
        `object`
      </td>

      <td>
        Locations of the job.
      </td>
    </tr>

    <tr>
      <td>
        location/location_str
      </td>

      <td>
        `string`
      </td>

      <td>
        The location string translated into the language of the job. The location string consists of city, region, and country separated by comma (some of these elements might be missing).
      </td>
    </tr>

    <tr>
      <td>
        location/country
      </td>

      <td>
        `string`
      </td>

      <td>
        The country name as defined in job editor
      </td>
    </tr>

    <tr>
      <td>
        location/country_code
      </td>

      <td>
        `string`
      </td>

      <td>
        The two digit country code
      </td>
    </tr>

    <tr>
      <td>
        location/region
      </td>

      <td>
        `string`
      </td>

      <td>
        The region as defined in job editor
      </td>
    </tr>

    <tr>
      <td>
        location/region_code
      </td>

      <td>
        `string`
      </td>

      <td>
        The two digit region code
      </td>
    </tr>

    <tr>
      <td>
        location/city
      </td>

      <td>
        `string`
      </td>

      <td>
        The city as defined in job editor
      </td>
    </tr>

    <tr>
      <td>
        location/zip_code
      </td>

      <td>
        `string`
      </td>

      <td>
        The zip code as defined in job editor
      </td>
    </tr>

    <tr>
      <td>
        location/telecommuting
      </td>

      <td>
        `boolean`
      </td>

      <td>
        Indicates if this is a remote/telecommute job
      </td>
    </tr>

    <tr>
      <td>
        location/workplace_type
      </td>

      <td>
        `string`
      </td>

      <td>
        The workplace type. Possible values are `on_site`,`hybrid`,`remote`. Superset to telecommuting property.
      </td>
    </tr>

    <tr>
      <td>
        locations
      </td>

      <td>
        `array`
      </td>

      <td>
        All  `locations` of the job as defined in job editor. First entry matches the _`primary location`_ of the job, as defined in job editor

        _For the keys of each location entry, please check the table below._

        * _Note_*: _Will not contain entries for older`draft`, `archived` and `closed` jobs, until they have a `state transition`_
      </td>
    </tr>

    <tr>
      <td>
        created_at
      </td>

      <td>
        `timestamp`
      </td>

      <td>
        The timestamp the job created
      </td>
    </tr>

    <tr>
      <td>
        updated_at
      </td>

      <td>
        `timestamp`
      </td>

      <td>
        The timestamp the job last updated
      </td>
    </tr>

    <tr>
      <td>
        keywords
      </td>

      <td>
        `array`
      </td>

      <td>
        The keywords of the job
      </td>
    </tr>

    <tr>
      <td>
        salary/salary_from
      </td>

      <td>
        `integer`
      </td>

      <td>
        The lower bound of the salary
      </td>
    </tr>

    <tr>
      <td>
        salary/salary_to
      </td>

      <td>
        `integer`
      </td>

      <td>
        The upper bound of the salary
      </td>
    </tr>

    <tr>
      <td>
        salary/salary_currency
      </td>

      <td>
        `string`
      </td>

      <td>
        The ISO code of the salary currency
      </td>
    </tr>
  </tbody>
</Table>

Each `location` in `locations` will have the following keys:

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        key
      </th>

      <th>
        type
      </th>

      <th>
        description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        country_code
      </td>

      <td>
        `string`
      </td>

      <td>
        The two digit country code
      </td>
    </tr>

    <tr>
      <td>
        country_name
      </td>

      <td>
        `string`
      </td>

      <td>
        The country name as defined in job editor
      </td>
    </tr>

    <tr>
      <td>
        state_code
      </td>

      <td>
        `string`
      </td>

      <td>
        The two digit state code
      </td>
    </tr>

    <tr>
      <td>
        subregion
      </td>

      <td>
        `string`
      </td>

      <td>
        The subregion as defined in job editor
      </td>
    </tr>

    <tr>
      <td>
        zip_code
      </td>

      <td>
        `string`
      </td>

      <td>
        The zip code as defined in job editor
      </td>
    </tr>

    <tr>
      <td>
        city
      </td>

      <td>
        `string`
      </td>

      <td>
        The city as defined in job editor
      </td>
    </tr>

    <tr>
      <td>
        coords
      </td>

      <td>
        `string`
      </td>

      <td>
        The coordinates of the location, if exist
      </td>
    </tr>

    <tr>
      <td>
        hidden
      </td>

      <td>
        `boolean`
      </td>

      <td>
        The indication if the location is `hidden` in
        `Careers Pages`, as defined in job editor
      </td>
    </tr>
  </tbody>
</Table>

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "account-root",
    "version": "3.16.2"
  },
  "servers": [
    {
      "url": "https://{subdomain}.workable.com/spi/v3",
      "variables": {
        "subdomain": {
          "default": "subdomain"
        }
      }
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "x-bearer-format": "",
        "x-default": "Bearer"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/jobs": {
      "get": {
        "summary": "/jobs",
        "description": "Returns a collection of your account jobs. Required scope: `r_jobs`. Accessible with all token types.",
        "operationId": "jobs",
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "description": "Returns jobs with the current state. Possible values (draft, published, archived & closed).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Specifies the number of jobs to try and retrieve per page (optional)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "since_id",
            "in": "query",
            "description": "Returns results with an ID greater than or equal to the specified ID. (optional)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "max_id",
            "in": "query",
            "description": "Returns results with an ID less than or equal to the specified ID. (optional)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "created_after",
            "in": "query",
            "description": "Returns results created after the specified timestamp. (optional)",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "updated_after",
            "in": "query",
            "description": "Returns results updated after the specified timestamp.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "include_fields",
            "in": "query",
            "description": "Includes additional fields in each job (description, full_description, requirements and benefits).",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{  \n  \"jobs\": [\n    {\n      \"id\": \"61884e2\",\n      \"title\": \"Sales Intern\",\n      \"full_title\": \"Sales Intern - US/3/SI\",\n      \"shortcode\": \"GROOV003\",\n      \"code\": \"US/3/SI\",\n      \"state\": \"draft\",\n      \"confidential\": false,\n      \"department\": \"Sales\",\n      \"department_hierarchy\": [\n        {\n        \t\"id: 792289334,\n          \"name\": \"Sales\"\n        }\n      ],\n      \"url\": \"https://groove-tech.workable.com/jobs/102268944\",\n      \"application_url\": \"https://groove-tech.workable.com/jobs/102268944/candidates/new\",\n      \"shortlink\": \"https://groove-tech.workable.com/j/GROOV003\",\n      \"workplace_type\": \"on_site\",\n      \"location\": {\n        \"location_str\": \"Portland, Oregon, United States\",\n        \"country\": \"United States\",\n        \"country_code\": \"US\",\n        \"region\": \"Oregon\",\n        \"region_code\": \"OR\",\n        \"city\": \"Portland\",\n        \"zip_code\": \"97201\",\n        \"telecommuting\": false\n      },\n      \"salary\": {\n        \"salary_from\": 10000,\n        \"salary_to\": 20000,\n        \"salary_currency\": \"eur\"\n      },\n      \"created_at\": \"2015-07-01T00:00:00Z\"\n    },\n    {\n      \"id\": \"1166bf8c\",\n      \"title\": \"Operations Manager\",\n      \"full_title\": \"Operations Manager - US/02/CM\",\n      \"shortcode\": \"GROOV001\",\n      \"code\": \"US/02/CM\",\n      \"state\": \"archived\",\n      \"confidential\": false,\n      \"department\": \"Operations\",\n      \"url\": \"https://groove-tech.workable.com/jobs/291945146\",\n      \"application_url\": \"https://groove-tech.workable.com/jobs/291945146/candidates/new\",\n      \"shortlink\": \"https://groove-tech.workable.com/j/GROOV001\",\n      \"location\": {\n        \"location_str\": \"Chicago, Illinois, United States\",\n        \"country\": \"United States\",\n        \"country_code\": \"US\",\n        \"region\": \"Illinois\",\n        \"region_code\": \"IL\",\n        \"city\": \"Chicago\",\n        \"zip_code\": \"60290\",\n        \"telecommuting\": false\n      },\n      \"created_at\": \"2015-05-07T00:00:00Z\"\n    },\n    {\n      \"id\": \"167636b1\",\n      \"title\": \"Office Manager\",\n      \"full_title\": \"Office Manager - US/4/OM\",\n      \"shortcode\": \"GROOV005\",\n      \"code\": \"US/4/OM\",\n      \"state\": \"published\",\n      \"confidential\": false,\n      \"department\": \"Administration\",\n      \"url\": \"https://groove-tech.workable.com/jobs/376844767\",\n      \"application_url\": \"https://groove-tech.workable.com/jobs/376844767/candidates/new\",\n      \"shortlink\": \"https://groove-tech.workable.com/j/GROOV005\",\n      \"location\": {\n        \"location_str\": \"Chicago, Illinois, United States\",\n        \"country\": \"United States\",\n        \"country_code\": \"US\",\n        \"region\": \"Illinois\",\n        \"region_code\": \"IL\",\n        \"city\": \"Chicago\",\n        \"zip_code\": \"60290\",\n        \"telecommuting\": false\n      },\n      \"created_at\": \"2015-06-06T00:00:00Z\"\n    }\n  ],\n  \"paging\": {\n    \"next\": \"https://www.workable.com/spi/v3/accounts/groove-tech/jobs?limit=3&since_id=2700d6df\"\n  }\n}"
                  }
                }
              }
            }
          },
          "401": {
            "description": "401",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"error\":\"Not authorized\"\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Not authorized"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "404",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"error\":\"Not found\"\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Not found"
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```