> ## Documentation Index
> Fetch the complete documentation index at: https://developers.cutshort.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /jobs — List and Filter Your Organization Jobs

> List all job postings for your organization. Filter by status to view active, paused, or closed roles. Returns job metadata and shortlist counts.

Retrieve all job postings for your Cutshort organization. Use the `status` filter to view only active jobs, or pull the full list including closed roles for reporting.

## Endpoint

```http theme={null}
GET https://api.cutshort.io/v1/jobs
```

## Query Parameters

<ParamField query="status" type="string">
  Filter results by job status. One of `active`, `paused`, or `closed`. Returns all statuses if omitted.
</ParamField>

<ParamField query="page" type="integer">
  Page number for paginated results. Default: `1`.
</ParamField>

<ParamField query="per_page" type="integer">
  Number of results per page. Maximum: `50`. Default: `20`.
</ParamField>

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET 'https://api.cutshort.io/v1/jobs?status=active' \
    -H 'Authorization: Bearer YOUR_API_KEY'
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.cutshort.io/v1/jobs",
      params={"status": "active"},
      headers={"Authorization": "Bearer YOUR_API_KEY"}
  )
  data = response.json()
  ```
</CodeGroup>

## Response

Returns `200 OK` with a paginated list of job postings belonging to your organization.

```json theme={null}
{
  "total": 5,
  "page": 1,
  "per_page": 20,
  "data": [
    {
      "id": "job_4xRt2wPv",
      "title": "Senior Backend Engineer",
      "status": "active",
      "location": "Bengaluru",
      "remote_type": "hybrid",
      "skills_required": ["Python", "Django", "PostgreSQL"],
      "experience_min": 4,
      "experience_max": 8,
      "shortlist_count": 23,
      "created_at": "2024-01-10T09:00:00Z"
    }
  ]
}
```

### Response Fields

<ResponseField name="total" type="integer">
  Total number of job postings matching the applied filter, across all pages.
</ResponseField>

<ResponseField name="page" type="integer">
  The current page number.
</ResponseField>

<ResponseField name="per_page" type="integer">
  Number of results returned per page.
</ResponseField>

<ResponseField name="data" type="array">
  List of job posting objects for your organization.
</ResponseField>

<ResponseField name="data[].id" type="string">
  Unique Cutshort job ID (e.g., `job_4xRt2wPv`).
</ResponseField>

<ResponseField name="data[].title" type="string">
  The job posting title.
</ResponseField>

<ResponseField name="data[].status" type="string">
  Current status of the job. One of `active`, `paused`, or `closed`.
</ResponseField>

<ResponseField name="data[].location" type="string">
  City or work location associated with the job.
</ResponseField>

<ResponseField name="data[].remote_type" type="string">
  Work arrangement type. One of `onsite`, `remote`, or `hybrid`.
</ResponseField>

<ResponseField name="data[].skills_required" type="array">
  List of required technical skill names for this role.
</ResponseField>

<ResponseField name="data[].experience_min" type="integer">
  Minimum years of experience required.
</ResponseField>

<ResponseField name="data[].experience_max" type="integer">
  Maximum years of experience accepted.
</ResponseField>

<ResponseField name="data[].shortlist_count" type="integer">
  Number of candidates currently in the AI-generated shortlist for this job.
</ResponseField>

<ResponseField name="data[].created_at" type="string">
  ISO 8601 timestamp of when the job was created.
</ResponseField>
